From c350f92a6457188301d087256612b25a94926d58 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Sat, 10 Dec 2022 17:30:33 -0600 Subject: [PATCH 01/65] - --- settings/during_start/094_000_jeffs_git_shortcuts.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/settings/during_start/094_000_jeffs_git_shortcuts.sh b/settings/during_start/094_000_jeffs_git_shortcuts.sh index 64f21d21..b41c8a5a 100644 --- a/settings/during_start/094_000_jeffs_git_shortcuts.sh +++ b/settings/during_start/094_000_jeffs_git_shortcuts.sh @@ -30,6 +30,11 @@ git_checkout () { git_checkout_pr () { pr_number="$1" + if [ -z "$pr_number" ] + then + echo "whats the PR number?" + read pr_number + fi git_delete_branch '@__temp__/pull_request' git fetch origin "pull/$pr_number/head:@__temp__/pull_request" git checkout '@__temp__/pull_request' From 8d5651f9824931366de6a8b79975901785aa8026 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Sat, 10 Dec 2022 20:43:27 -0600 Subject: [PATCH 02/65] - --- settings/during_start/094_000_jeffs_git_shortcuts.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings/during_start/094_000_jeffs_git_shortcuts.sh b/settings/during_start/094_000_jeffs_git_shortcuts.sh index b41c8a5a..fe8e0444 100644 --- a/settings/during_start/094_000_jeffs_git_shortcuts.sh +++ b/settings/during_start/094_000_jeffs_git_shortcuts.sh @@ -35,7 +35,7 @@ git_checkout_pr () { echo "whats the PR number?" read pr_number fi - git_delete_branch '@__temp__/pull_request' + git_delete_branch '@__temp__/pull_request' 2>/dev/null git fetch origin "pull/$pr_number/head:@__temp__/pull_request" git checkout '@__temp__/pull_request' } From edb75606dbcbc16924d4838253e98f8a232d5e54 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 27 Dec 2022 14:09:31 -0500 Subject: [PATCH 03/65] - --- .../094_000_jeffs_git_shortcuts.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/settings/during_start/094_000_jeffs_git_shortcuts.sh b/settings/during_start/094_000_jeffs_git_shortcuts.sh index fe8e0444..53c0c8b2 100644 --- a/settings/during_start/094_000_jeffs_git_shortcuts.sh +++ b/settings/during_start/094_000_jeffs_git_shortcuts.sh @@ -458,6 +458,25 @@ git_url_of_origin () { git config --get remote.origin.url } +git_squash_to () { + commit_hash="$1" + commit_message="$2" + git reset --soft "$commit_hash" && git add -A && git commit -m "$commit_message" && echo "squash complete" +} + +git_delete_submodule () { + path="$1" + if ! [ -d "$path" ] + then + echo "I don't see that folder/path. So this method might not work perfectly" + echo "press enter to continue, ctrl+C to cancel" + read A + fi + git submodule deinit -f "$path" + rm -rf ".git/modules/$path" + git rm -f "$path" +} + # self submodule # git submodule add -b jirl --name "jirl" -- https://github.com/jeff-hykin/model_racer.git ./source/jirl From 6d25eee261c3298ba2b7b35c739e404f599c9de4 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Wed, 28 Dec 2022 13:37:58 -0500 Subject: [PATCH 04/65] - --- commands/project/test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/project/test b/commands/project/test index c89eb5b9..7df1afb3 100755 --- a/commands/project/test +++ b/commands/project/test @@ -2,7 +2,7 @@ #!/usr/bin/env bash -commands/project/build && npx textmate-tester \ +npx textmate-tester \ --textmateExtension YOUR_LANG_EXTENSION_HERE \ --syntax "$FORNIX_FOLDER/autogenerated/YOUR_LANG_EXTENSION_HERE.tmLanguage.json" \ --examples "$FORNIX_FOLDER/language_examples/" \ From 5163eda81170ef29bc0221f86ce7e1690523aa47 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Mon, 2 Jan 2023 15:28:35 -0500 Subject: [PATCH 05/65] - --- settings/during_start/094_000_jeffs_git_shortcuts.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/settings/during_start/094_000_jeffs_git_shortcuts.sh b/settings/during_start/094_000_jeffs_git_shortcuts.sh index 53c0c8b2..dd3dd536 100644 --- a/settings/during_start/094_000_jeffs_git_shortcuts.sh +++ b/settings/during_start/094_000_jeffs_git_shortcuts.sh @@ -45,7 +45,7 @@ git_commit_hashes () { } git_log () { - git log --first-parent --date=short --pretty=format:"%Cblue%ad %h%Cgreen %s %Creset%d" + git --no-pager log --reverse --first-parent --date=short --pretty=format:"%Cblue%ad %h%Cgreen %s %Creset%d" "$@" } git_current_commit_hash () { @@ -70,7 +70,7 @@ git_squash_to () { git_squash () { args="$@" git reset --soft HEAD~2 && git add -A && git commit -m "$args" && echo "squash complete" - git_log | head -n5 + git_log | tail -n5 } # From eb8af8a555502d3303a43c3409eba6c2e9b6f33a Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Mon, 2 Jan 2023 15:33:15 -0500 Subject: [PATCH 06/65] - --- settings/during_start/094_000_jeffs_git_shortcuts.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/settings/during_start/094_000_jeffs_git_shortcuts.sh b/settings/during_start/094_000_jeffs_git_shortcuts.sh index dd3dd536..8a7cd92f 100644 --- a/settings/during_start/094_000_jeffs_git_shortcuts.sh +++ b/settings/during_start/094_000_jeffs_git_shortcuts.sh @@ -35,9 +35,10 @@ git_checkout_pr () { echo "whats the PR number?" read pr_number fi - git_delete_branch '@__temp__/pull_request' 2>/dev/null - git fetch origin "pull/$pr_number/head:@__temp__/pull_request" - git checkout '@__temp__/pull_request' + temp_pr_name='@__temp__/pull_request' + git_delete_branch "$temp_pr_name" + git fetch origin "pull/$pr_number/head:$temp_pr_name" + git checkout "$temp_pr_name" } git_commit_hashes () { From ef64ac9473918473925ee9d2ca485e3366784096 Mon Sep 17 00:00:00 2001 From: Julien Cortial Date: Wed, 4 Jan 2023 21:49:48 +0100 Subject: [PATCH 07/65] Make suffix tags more consistent --- autogenerated/cpp.tmLanguage.json | 128 +++++++++--------- autogenerated/cpp_scopes.txt | 3 + language_examples/#004.spec.yaml | 3 + language_examples/#010.spec.yaml | 2 + language_examples/#120.spec.yaml | 3 + .../feature_basic_string_sso.spec.yaml | 1 + language_examples/macro_issue.spec.yaml | 8 ++ language_examples/misc_000.spec.yaml | 30 ++++ language_examples/misc_006.spec.yaml | 30 ++++ language_examples/theme_demo.spec.yaml | 1 + main/patterns/numeric.rb | 10 +- 11 files changed, 150 insertions(+), 69 deletions(-) diff --git a/autogenerated/cpp.tmLanguage.json b/autogenerated/cpp.tmLanguage.json index 73e054d9..d3bf4fa6 100644 --- a/autogenerated/cpp.tmLanguage.json +++ b/autogenerated/cpp.tmLanguage.json @@ -529,7 +529,7 @@ "name": "comment.block.cpp" }, "builtin_storage_type_initilizer": { - "begin": "(?:\\s)*+(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -1990,7 +1990,7 @@ ] }, "control_flow_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)", + "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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)", "end": "\\}", "beginCaptures": { "1": { @@ -2514,7 +2514,7 @@ ] }, "11": { - "name": "keyword.other.unit.suffix.floating-point.cpp" + "name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp" } } }, @@ -2567,7 +2567,7 @@ ] }, "10": { - "name": "keyword.other.unit.suffix.floating-point.cpp" + "name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp" } } }, @@ -2590,7 +2590,7 @@ "name": "punctuation.separator.constant.numeric.cpp" }, "4": { - "name": "keyword.other.unit.suffix.integer.cpp" + "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" } } }, @@ -2613,7 +2613,7 @@ "name": "punctuation.separator.constant.numeric.cpp" }, "4": { - "name": "keyword.other.unit.suffix.integer.cpp" + "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" } } }, @@ -2654,7 +2654,7 @@ ] }, "8": { - "name": "keyword.other.unit.suffix.integer.cpp" + "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" } } }, @@ -2692,7 +2692,7 @@ ] }, "7": { - "name": "keyword.other.unit.suffix.integer.cpp" + "name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp" } } }, @@ -3014,7 +3014,7 @@ ] }, "destructor_root": { - "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -3383,7 +3383,7 @@ "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -4065,7 +4065,7 @@ ] }, "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", + "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", "end": "\\)", "beginCaptures": { "1": { @@ -4141,7 +4141,7 @@ ] }, "function_definition": { - "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -4567,7 +4567,7 @@ ] }, { - "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:\\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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "punctuation.definition.function.return-type.cpp" @@ -4781,7 +4781,7 @@ ] }, "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", "beginCaptures": { "1": { @@ -5062,7 +5062,7 @@ ] }, "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", "beginCaptures": { "1": { @@ -5677,7 +5677,7 @@ "name": "storage.type.modifier.virtual.cpp" }, { - "match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "meta.qualified_type.cpp", @@ -5850,7 +5850,7 @@ ] }, "inline_builtin_storage_type": { - "match": "(?:\\s)*+(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", + "match": "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least16_t[^\\w]|uint_least32_t[^\\w]|uint_least64_t[^\\w]|int_least16_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|int_least8_t[^\\w]|int_fast16_t[^\\w]|int_fast32_t[^\\w]|int_fast64_t[^\\w]|uint_fast8_t[^\\w]|suseconds_t[^\\w]|int_fast8_t[^\\w]|useconds_t[^\\w]|blksize_t[^\\w]|in_addr_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|unsigned[^\\w]|u_quad_t[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|intptr_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|swblk_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|signed[^\\w]|double[^\\w]|u_char[^\\w]|u_long[^\\w]|ushort[^\\w]|quad_t[^\\w]|mode_t[^\\w]|size_t[^\\w]|time_t[^\\w]|int8_t[^\\w]|short[^\\w]|float[^\\w]|u_int[^\\w]|div_t[^\\w]|dev_t[^\\w]|gid_t[^\\w]|ino_t[^\\w]|key_t[^\\w]|pid_t[^\\w]|off_t[^\\w]|uid_t[^\\w]|auto[^\\w]|void[^\\w]|char[^\\w]|long[^\\w]|bool[^\\w]|uint[^\\w]|id_t[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", "captures": { "1": { "patterns": [ @@ -6632,7 +6632,7 @@ ] }, "namespace_alias": { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:new)|(?:\\->\\*)|(?:<<=)|(?:>>=)|(?:<=>)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:\\-\\-)|(?:<<)|(?:>>)|(?:<=)|(?:>=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|(?:\\/=)|(?:%=)|(?:&=)|(?:\\^=)|(?:\\|=)|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=|,))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -8999,7 +8999,7 @@ "include": "#vararg_ellipses" }, { - "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)*+(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", + "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", "captures": { "0": { "patterns": [ @@ -11053,7 +11053,7 @@ } }, "scope_resolution": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11075,7 +11075,7 @@ } }, "scope_resolution_function_call": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11097,7 +11097,7 @@ } }, "scope_resolution_function_call_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11146,7 +11146,7 @@ } }, "scope_resolution_function_definition": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11168,7 +11168,7 @@ } }, "scope_resolution_function_definition_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11217,7 +11217,7 @@ } }, "scope_resolution_function_definition_operator_overload": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11239,7 +11239,7 @@ } }, "scope_resolution_function_definition_operator_overload_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11288,7 +11288,7 @@ } }, "scope_resolution_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11337,7 +11337,7 @@ } }, "scope_resolution_namespace_alias": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11359,7 +11359,7 @@ } }, "scope_resolution_namespace_alias_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11408,7 +11408,7 @@ } }, "scope_resolution_namespace_block": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11430,7 +11430,7 @@ } }, "scope_resolution_namespace_block_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11479,7 +11479,7 @@ } }, "scope_resolution_namespace_using": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11501,7 +11501,7 @@ } }, "scope_resolution_namespace_using_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11550,7 +11550,7 @@ } }, "scope_resolution_parameter": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11572,7 +11572,7 @@ } }, "scope_resolution_parameter_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11621,7 +11621,7 @@ } }, "scope_resolution_template_call": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11643,7 +11643,7 @@ } }, "scope_resolution_template_call_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11692,7 +11692,7 @@ } }, "scope_resolution_template_definition": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11714,7 +11714,7 @@ } }, "scope_resolution_template_definition_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11767,7 +11767,7 @@ "name": "punctuation.terminator.statement.cpp" }, "simple_type": { - "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", + "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", "captures": { "1": { "name": "meta.qualified_type.cpp", @@ -14160,7 +14160,7 @@ } }, "type_alias": { - "match": "(using)(?:\\s)+(?!namespace)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", "beginCaptures": { "1": { @@ -15918,7 +15918,7 @@ ] }, "typename": { - "match": "(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "storage.modifier.cpp" @@ -16633,7 +16633,7 @@ } }, "using_namespace": { - "begin": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((? Date: Sun, 15 Jan 2023 11:44:25 -0600 Subject: [PATCH 08/65] version bump --- autogenerated/cpp.tmLanguage.json | 92 ++++---- package-lock.json | 374 +++++++++++++++++++++++++----- package.json | 5 +- 3 files changed, 369 insertions(+), 102 deletions(-) diff --git a/autogenerated/cpp.tmLanguage.json b/autogenerated/cpp.tmLanguage.json index d3bf4fa6..14462e6b 100644 --- a/autogenerated/cpp.tmLanguage.json +++ b/autogenerated/cpp.tmLanguage.json @@ -529,7 +529,7 @@ "name": "comment.block.cpp" }, "builtin_storage_type_initilizer": { - "begin": "(?:\\s)*+(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -1990,7 +1990,7 @@ ] }, "control_flow_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)", "end": "\\}", "beginCaptures": { "1": { @@ -3014,7 +3014,7 @@ ] }, "destructor_root": { - "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -3383,7 +3383,7 @@ "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -4065,7 +4065,7 @@ ] }, "function_call": { - "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", "end": "\\)", "beginCaptures": { "1": { @@ -4141,7 +4141,7 @@ ] }, "function_definition": { - "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -4567,7 +4567,7 @@ ] }, { - "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:\\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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "punctuation.definition.function.return-type.cpp" @@ -4781,7 +4781,7 @@ ] }, "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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", "beginCaptures": { "1": { @@ -5062,7 +5062,7 @@ ] }, "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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", "beginCaptures": { "1": { @@ -5677,7 +5677,7 @@ "name": "storage.type.modifier.virtual.cpp" }, { - "match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|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|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "meta.qualified_type.cpp", @@ -5850,7 +5850,7 @@ ] }, "inline_builtin_storage_type": { - "match": "(?:\\s)*+(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least16_t[^\\w]|uint_least32_t[^\\w]|uint_least64_t[^\\w]|int_least16_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|int_least8_t[^\\w]|int_fast16_t[^\\w]|int_fast32_t[^\\w]|int_fast64_t[^\\w]|uint_fast8_t[^\\w]|suseconds_t[^\\w]|int_fast8_t[^\\w]|useconds_t[^\\w]|blksize_t[^\\w]|in_addr_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|unsigned[^\\w]|u_quad_t[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|intptr_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|swblk_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|signed[^\\w]|double[^\\w]|u_char[^\\w]|u_long[^\\w]|ushort[^\\w]|quad_t[^\\w]|mode_t[^\\w]|size_t[^\\w]|time_t[^\\w]|int8_t[^\\w]|short[^\\w]|float[^\\w]|u_int[^\\w]|div_t[^\\w]|dev_t[^\\w]|gid_t[^\\w]|ino_t[^\\w]|key_t[^\\w]|pid_t[^\\w]|off_t[^\\w]|uid_t[^\\w]|auto[^\\w]|void[^\\w]|char[^\\w]|long[^\\w]|bool[^\\w]|uint[^\\w]|id_t[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", + "match": "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", "captures": { "1": { "patterns": [ @@ -6632,7 +6632,7 @@ ] }, "namespace_alias": { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:new)|(?:\\->\\*)|(?:<<=)|(?:>>=)|(?:<=>)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:\\-\\-)|(?:<<)|(?:>>)|(?:<=)|(?:>=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|(?:\\/=)|(?:%=)|(?:&=)|(?:\\^=)|(?:\\|=)|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=|,))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -8999,7 +8999,7 @@ "include": "#vararg_ellipses" }, { - "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)*+(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", + "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", "captures": { "0": { "patterns": [ @@ -11053,7 +11053,7 @@ } }, "scope_resolution": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11075,7 +11075,7 @@ } }, "scope_resolution_function_call": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11097,7 +11097,7 @@ } }, "scope_resolution_function_call_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11146,7 +11146,7 @@ } }, "scope_resolution_function_definition": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11168,7 +11168,7 @@ } }, "scope_resolution_function_definition_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11217,7 +11217,7 @@ } }, "scope_resolution_function_definition_operator_overload": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11239,7 +11239,7 @@ } }, "scope_resolution_function_definition_operator_overload_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11288,7 +11288,7 @@ } }, "scope_resolution_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11337,7 +11337,7 @@ } }, "scope_resolution_namespace_alias": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11359,7 +11359,7 @@ } }, "scope_resolution_namespace_alias_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11408,7 +11408,7 @@ } }, "scope_resolution_namespace_block": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11430,7 +11430,7 @@ } }, "scope_resolution_namespace_block_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11479,7 +11479,7 @@ } }, "scope_resolution_namespace_using": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11501,7 +11501,7 @@ } }, "scope_resolution_namespace_using_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11550,7 +11550,7 @@ } }, "scope_resolution_parameter": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11572,7 +11572,7 @@ } }, "scope_resolution_parameter_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11621,7 +11621,7 @@ } }, "scope_resolution_template_call": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11643,7 +11643,7 @@ } }, "scope_resolution_template_call_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11692,7 +11692,7 @@ } }, "scope_resolution_template_definition": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", "captures": { "0": { "patterns": [ @@ -11714,7 +11714,7 @@ } }, "scope_resolution_template_definition_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", "captures": { "1": { "patterns": [ @@ -11767,7 +11767,7 @@ "name": "punctuation.terminator.statement.cpp" }, "simple_type": { - "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|thread_local|synchronized|static_cast|const_cast|co_return|constexpr|consteval|constexpr|constexpr|consteval|protected|namespace|constinit|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", + "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", "captures": { "1": { "name": "meta.qualified_type.cpp", @@ -14160,7 +14160,7 @@ } }, "type_alias": { - "match": "(using)(?:\\s)+(?!namespace)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", "beginCaptures": { "1": { @@ -15918,7 +15918,7 @@ ] }, "typename": { - "match": "(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))?(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:const_cast)|(?:co_return)|(?:constexpr)|(?:consteval)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:namespace)|(?:constinit)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:noexcept)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "storage.modifier.cpp" @@ -16633,7 +16633,7 @@ } }, "using_namespace": { - "begin": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?= 0.8" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "node_modules/console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -398,8 +448,7 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "node_modules/css-select": { "version": "5.1.0", @@ -469,7 +518,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, "engines": { "node": ">=0.4.0" } @@ -700,7 +748,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -776,6 +823,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "engines": { + "node": ">=4" + } + }, "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -910,6 +965,28 @@ "entities": "^4.3.0" } }, + "node_modules/http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dependencies": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dependencies": { + "@types/node": "^10.0.3" + } + }, "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -958,8 +1035,7 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.8", @@ -1023,8 +1099,7 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "node_modules/isexe": { "version": "2.0.0", @@ -1140,8 +1215,7 @@ "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lru-cache": { "version": "6.0.0", @@ -1183,7 +1257,6 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, "engines": { "node": ">= 0.6" } @@ -1192,7 +1265,6 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -1575,6 +1647,11 @@ "node": ">= 14" } }, + "node_modules/parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + }, "node_modules/parse-semver": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", @@ -1672,8 +1749,15 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" + } }, "node_modules/psl": { "version": "1.9.0", @@ -1704,7 +1788,6 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true, "engines": { "node": ">=0.6" } @@ -1740,7 +1823,6 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -1807,8 +1889,7 @@ "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -1937,7 +2018,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -1989,6 +2069,27 @@ "node": ">=4" } }, + "node_modules/sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dependencies": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dependencies": { + "get-port": "^3.1.0" + } + }, "node_modules/tar": { "version": "4.4.19", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", @@ -2069,6 +2170,15 @@ } ] }, + "node_modules/textmate-bailout": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/textmate-bailout/-/textmate-bailout-1.1.0.tgz", + "integrity": "sha512-5Ys2fr9L/xToWgUqJ+/WMvGzoVS2Jvn3xIn8ngNxsTH4K4WddHZy70mx5ehNFIRXaURmYo5ytM/BoHPmBblXYg==", + "dependencies": { + "lodash": "^4.17.15", + "sync-request": "^6.1.0" + } + }, "node_modules/textmate-tester": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/textmate-tester/-/textmate-tester-1.1.9.tgz", @@ -2175,6 +2285,32 @@ "node": ">=10" } }, + "node_modules/then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dependencies": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/then-request/node_modules/@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + }, "node_modules/tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -2268,6 +2404,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, "node_modules/uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", @@ -2292,8 +2433,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/uuid": { "version": "3.4.0", @@ -2513,6 +2653,32 @@ } }, "dependencies": { + "@types/concat-stream": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", + "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "requires": { + "@types/node": "*" + } + }, + "@types/form-data": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", + "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "requires": { + "@types/node": "*" + } + }, + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + }, "abbrev": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", @@ -2571,6 +2737,11 @@ "sprintf-js": "~1.0.2" } }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -2589,8 +2760,7 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "aws-sign2": { "version": "0.7.0", @@ -2691,6 +2861,11 @@ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", "dev": true }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, "call-bind": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", @@ -2704,8 +2879,7 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", - "dev": true + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" }, "chalk": { "version": "2.4.2", @@ -2790,7 +2964,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -2807,6 +2980,17 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "console-control-strings": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", @@ -2816,8 +3000,7 @@ "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, "css-select": { "version": "5.1.0", @@ -2865,8 +3048,7 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" }, "delegates": { "version": "1.0.0", @@ -3027,7 +3209,6 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -3094,6 +3275,11 @@ "has-symbols": "^1.0.3" } }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" + }, "getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", @@ -3193,6 +3379,25 @@ "entities": "^4.3.0" } }, + "http-basic": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", + "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "requires": { + "caseless": "^0.12.0", + "concat-stream": "^1.6.2", + "http-response-object": "^3.0.1", + "parse-cache-control": "^1.0.1" + } + }, + "http-response-object": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", + "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "requires": { + "@types/node": "^10.0.3" + } + }, "http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", @@ -3223,8 +3428,7 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "ini": { "version": "1.3.8", @@ -3265,8 +3469,7 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" }, "isexe": { "version": "2.0.0", @@ -3366,8 +3569,7 @@ "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lru-cache": { "version": "6.0.0", @@ -3401,14 +3603,12 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, "requires": { "mime-db": "1.52.0" } @@ -3718,6 +3918,11 @@ } } }, + "parse-cache-control": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + }, "parse-semver": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/parse-semver/-/parse-semver-1.1.1.tgz", @@ -3797,8 +4002,15 @@ "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } }, "psl": { "version": "1.9.0", @@ -3825,8 +4037,7 @@ "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", - "dev": true + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" }, "rc": { "version": "1.2.8", @@ -3853,7 +4064,6 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -3910,8 +4120,7 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safer-buffer": { "version": "2.1.2", @@ -3998,7 +4207,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -4038,6 +4246,24 @@ "has-flag": "^3.0.0" } }, + "sync-request": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", + "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "requires": { + "http-response-object": "^3.0.1", + "sync-rpc": "^1.2.1", + "then-request": "^6.0.0" + } + }, + "sync-rpc": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", + "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "requires": { + "get-port": "^3.1.0" + } + }, "tar": { "version": "4.4.19", "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.19.tgz", @@ -4099,6 +4325,15 @@ } } }, + "textmate-bailout": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/textmate-bailout/-/textmate-bailout-1.1.0.tgz", + "integrity": "sha512-5Ys2fr9L/xToWgUqJ+/WMvGzoVS2Jvn3xIn8ngNxsTH4K4WddHZy70mx5ehNFIRXaURmYo5ytM/BoHPmBblXYg==", + "requires": { + "lodash": "^4.17.15", + "sync-request": "^6.1.0" + } + }, "textmate-tester": { "version": "1.1.9", "resolved": "https://registry.npmjs.org/textmate-tester/-/textmate-tester-1.1.9.tgz", @@ -4186,6 +4421,31 @@ } } }, + "then-request": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", + "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "requires": { + "@types/concat-stream": "^1.6.0", + "@types/form-data": "0.0.33", + "@types/node": "^8.0.0", + "@types/qs": "^6.2.31", + "caseless": "~0.12.0", + "concat-stream": "^1.6.0", + "form-data": "^2.2.0", + "http-basic": "^8.1.1", + "http-response-object": "^3.0.1", + "promise": "^8.0.0", + "qs": "^6.4.0" + }, + "dependencies": { + "@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + } + } + }, "tmp": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", @@ -4259,6 +4519,11 @@ } } }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, "uc.micro": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", @@ -4283,8 +4548,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "uuid": { "version": "3.4.0", diff --git a/package.json b/package.json index dcaa5b25..4a069a78 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.17.2", + "version": "1.17.3", "icon": "icon.png", "scripts": {}, "keywords": [ @@ -56,6 +56,9 @@ "nspell": "^2.1.2", "oniguruma": "^7.2.0", "ovsx": "^0.5.1", + "textmate-bailout": "^1.1.0", "textmate-tester": "^1.1.9" + }, + "dependencies": { } } From b34d39a62dd3b15aa36b1b258727c43eb001b5f1 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Sun, 15 Jan 2023 11:45:30 -0600 Subject: [PATCH 09/65] - --- package-lock.json | 307 +++++++++++++++++++++++++++++++++++++++------- package.json | 5 +- 2 files changed, 267 insertions(+), 45 deletions(-) diff --git a/package-lock.json b/package-lock.json index c456f362..2645876f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,12 @@ { "name": "better-cpp-syntax", - "version": "1.17.2", + "version": "1.17.3", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "better-cpp-syntax", - "version": "1.17.2", - "dependencies": { - "textmate-bailout": "^1.1.0" - }, + "version": "1.17.3", "devDependencies": { "chalk": "^2.4.2", "dictionary-en-us": "^2.1.1", @@ -17,7 +14,9 @@ "nspell": "^2.1.2", "oniguruma": "^7.2.0", "ovsx": "^0.5.1", - "textmate-tester": "^1.1.9" + "textmate-bailout": "^1.1.0", + "textmate-tester": "^1.1.9", + "vsce": "^1.103.1" }, "engines": { "vscode": "^1.0.0" @@ -27,6 +26,7 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dev": true, "dependencies": { "@types/node": "*" } @@ -35,6 +35,7 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dev": true, "dependencies": { "@types/node": "*" } @@ -42,12 +43,14 @@ "node_modules/@types/node": { "version": "10.17.60", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true }, "node_modules/@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true }, "node_modules/abbrev": { "version": "1.1.1", @@ -120,7 +123,8 @@ "node_modules/asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true }, "node_modules/asn1": { "version": "0.2.6", @@ -143,7 +147,8 @@ "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "node_modules/aws-sign2": { "version": "0.7.0", @@ -282,7 +287,8 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "node_modules/call-bind": { "version": "1.0.2", @@ -300,7 +306,8 @@ "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true }, "node_modules/chalk": { "version": "2.4.2", @@ -403,6 +410,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -429,6 +437,7 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, "engines": [ "node >= 0.8" ], @@ -448,7 +457,8 @@ "node_modules/core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true }, "node_modules/css-select": { "version": "5.1.0", @@ -518,6 +528,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -528,6 +539,12 @@ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, + "node_modules/denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "dev": true + }, "node_modules/detect-libc": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", @@ -748,6 +765,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -827,6 +845,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "dev": true, "engines": { "node": ">=4" } @@ -969,6 +988,7 @@ "version": "8.1.3", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dev": true, "dependencies": { "caseless": "^0.12.0", "concat-stream": "^1.6.2", @@ -983,6 +1003,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dev": true, "dependencies": { "@types/node": "^10.0.3" } @@ -1035,7 +1056,8 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "node_modules/ini": { "version": "1.3.8", @@ -1099,7 +1121,8 @@ "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, "node_modules/isexe": { "version": "2.0.0", @@ -1212,10 +1235,20 @@ "node": ">=6" } }, + "node_modules/linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, "node_modules/lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lru-cache": { "version": "6.0.0", @@ -1235,6 +1268,28 @@ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, + "node_modules/markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it/node_modules/entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + }, "node_modules/mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -1257,6 +1312,7 @@ "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, "engines": { "node": ">= 0.6" } @@ -1265,6 +1321,7 @@ "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "dependencies": { "mime-db": "1.52.0" }, @@ -1650,7 +1707,8 @@ "node_modules/parse-cache-control": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", + "dev": true }, "node_modules/parse-semver": { "version": "1.1.1", @@ -1749,12 +1807,14 @@ "node_modules/process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "node_modules/promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dev": true, "dependencies": { "asap": "~2.0.6" } @@ -1788,6 +1848,7 @@ "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true, "engines": { "node": ">=0.6" } @@ -1823,6 +1884,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -1889,7 +1951,8 @@ "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "node_modules/safer-buffer": { "version": "2.1.2", @@ -2018,6 +2081,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "dependencies": { "safe-buffer": "~5.1.0" } @@ -2073,6 +2137,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dev": true, "dependencies": { "http-response-object": "^3.0.1", "sync-rpc": "^1.2.1", @@ -2086,6 +2151,7 @@ "version": "1.3.6", "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dev": true, "dependencies": { "get-port": "^3.1.0" } @@ -2174,6 +2240,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/textmate-bailout/-/textmate-bailout-1.1.0.tgz", "integrity": "sha512-5Ys2fr9L/xToWgUqJ+/WMvGzoVS2Jvn3xIn8ngNxsTH4K4WddHZy70mx5ehNFIRXaURmYo5ytM/BoHPmBblXYg==", + "dev": true, "dependencies": { "lodash": "^4.17.15", "sync-request": "^6.1.0" @@ -2289,6 +2356,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dev": true, "dependencies": { "@types/concat-stream": "^1.6.0", "@types/form-data": "0.0.33", @@ -2309,7 +2377,8 @@ "node_modules/then-request/node_modules/@types/node": { "version": "8.10.66", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true }, "node_modules/tmp": { "version": "0.2.1", @@ -2407,7 +2476,8 @@ "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true }, "node_modules/uc.micro": { "version": "1.0.6", @@ -2430,10 +2500,17 @@ "punycode": "^2.1.0" } }, + "node_modules/url-join": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", + "integrity": "sha512-zz1wZk4Lb5PTVwZ3HWDmm8XnlPvmOof6/fjdDPA5yBrUcbtV64U6bV832Zf1BtU2WkBBWaUT46wCs+l0HP5nhg==", + "dev": true + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, "node_modules/uuid": { "version": "3.4.0", @@ -2465,6 +2542,44 @@ "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true }, + "node_modules/vsce": { + "version": "1.103.1", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.103.1.tgz", + "integrity": "sha512-98oKQKKRp7J/vTIk1cuzom5cezZpYpRHs3WlySdsrTCrAEipB/HvaPTc4VZ3hGZHzHXS9P5p2L0IllntJeXwiQ==", + "deprecated": "vsce has been renamed to @vscode/vsce. Install using @vscode/vsce instead.", + "dev": true, + "dependencies": { + "azure-devops-node-api": "^11.0.1", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.9", + "commander": "^6.1.0", + "denodeify": "^1.2.1", + "glob": "^7.0.6", + "hosted-git-info": "^4.0.2", + "keytar": "^7.7.0", + "leven": "^3.1.0", + "lodash": "^4.17.15", + "markdown-it": "^10.0.0", + "mime": "^1.3.4", + "minimatch": "^3.0.3", + "osenv": "^0.1.3", + "parse-semver": "^1.1.1", + "read": "^1.0.7", + "semver": "^5.1.0", + "tmp": "^0.2.1", + "typed-rest-client": "^1.8.4", + "url-join": "^1.1.0", + "xml2js": "^0.4.23", + "yauzl": "^2.3.1", + "yazl": "^2.2.2" + }, + "bin": { + "vsce": "vsce" + }, + "engines": { + "node": ">= 10" + } + }, "node_modules/vscode-textmate": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-4.4.0.tgz", @@ -2657,6 +2772,7 @@ "version": "1.6.1", "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz", "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==", + "dev": true, "requires": { "@types/node": "*" } @@ -2665,6 +2781,7 @@ "version": "0.0.33", "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz", "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==", + "dev": true, "requires": { "@types/node": "*" } @@ -2672,12 +2789,14 @@ "@types/node": { "version": "10.17.60", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", - "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==", + "dev": true }, "@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==" + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true }, "abbrev": { "version": "1.1.1", @@ -2740,7 +2859,8 @@ "asap": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true }, "asn1": { "version": "0.2.6", @@ -2760,7 +2880,8 @@ "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "aws-sign2": { "version": "0.7.0", @@ -2864,7 +2985,8 @@ "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true }, "call-bind": { "version": "1.0.2", @@ -2879,7 +3001,8 @@ "caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true }, "chalk": { "version": "2.4.2", @@ -2964,6 +3087,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "requires": { "delayed-stream": "~1.0.0" } @@ -2984,6 +3108,7 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, "requires": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -3000,7 +3125,8 @@ "core-util-is": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true }, "css-select": { "version": "5.1.0", @@ -3048,7 +3174,8 @@ "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true }, "delegates": { "version": "1.0.0", @@ -3056,6 +3183,12 @@ "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, + "denodeify": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/denodeify/-/denodeify-1.2.1.tgz", + "integrity": "sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==", + "dev": true + }, "detect-libc": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz", @@ -3209,6 +3342,7 @@ "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", @@ -3278,7 +3412,8 @@ "get-port": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", - "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==", + "dev": true }, "getpass": { "version": "0.1.7", @@ -3383,6 +3518,7 @@ "version": "8.1.3", "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz", "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==", + "dev": true, "requires": { "caseless": "^0.12.0", "concat-stream": "^1.6.2", @@ -3394,6 +3530,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz", "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==", + "dev": true, "requires": { "@types/node": "^10.0.3" } @@ -3428,7 +3565,8 @@ "inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true }, "ini": { "version": "1.3.8", @@ -3469,7 +3607,8 @@ "isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true }, "isexe": { "version": "2.0.0", @@ -3566,10 +3705,20 @@ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true }, + "linkify-it": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz", + "integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==", + "dev": true, + "requires": { + "uc.micro": "^1.0.1" + } + }, "lodash": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "lru-cache": { "version": "6.0.0", @@ -3588,6 +3737,27 @@ } } }, + "markdown-it": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-10.0.0.tgz", + "integrity": "sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "entities": "~2.0.0", + "linkify-it": "^2.0.0", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "dependencies": { + "entities": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz", + "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==", + "dev": true + } + } + }, "mdurl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", @@ -3603,12 +3773,14 @@ "mime-db": { "version": "1.52.0", "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true }, "mime-types": { "version": "2.1.35", "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, "requires": { "mime-db": "1.52.0" } @@ -3921,7 +4093,8 @@ "parse-cache-control": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz", - "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==" + "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==", + "dev": true }, "parse-semver": { "version": "1.1.1", @@ -4002,12 +4175,14 @@ "process-nextick-args": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true }, "promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dev": true, "requires": { "asap": "~2.0.6" } @@ -4037,7 +4212,8 @@ "qs": { "version": "6.5.3", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz", - "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==" + "integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", + "dev": true }, "rc": { "version": "1.2.8", @@ -4064,6 +4240,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -4120,7 +4297,8 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -4207,6 +4385,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -4250,6 +4429,7 @@ "version": "6.1.0", "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz", "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==", + "dev": true, "requires": { "http-response-object": "^3.0.1", "sync-rpc": "^1.2.1", @@ -4260,6 +4440,7 @@ "version": "1.3.6", "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz", "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==", + "dev": true, "requires": { "get-port": "^3.1.0" } @@ -4329,6 +4510,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/textmate-bailout/-/textmate-bailout-1.1.0.tgz", "integrity": "sha512-5Ys2fr9L/xToWgUqJ+/WMvGzoVS2Jvn3xIn8ngNxsTH4K4WddHZy70mx5ehNFIRXaURmYo5ytM/BoHPmBblXYg==", + "dev": true, "requires": { "lodash": "^4.17.15", "sync-request": "^6.1.0" @@ -4425,6 +4607,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz", "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==", + "dev": true, "requires": { "@types/concat-stream": "^1.6.0", "@types/form-data": "0.0.33", @@ -4442,7 +4625,8 @@ "@types/node": { "version": "8.10.66", "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", - "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==", + "dev": true } } }, @@ -4522,7 +4706,8 @@ "typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true }, "uc.micro": { "version": "1.0.6", @@ -4545,10 +4730,17 @@ "punycode": "^2.1.0" } }, + "url-join": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-1.1.0.tgz", + "integrity": "sha512-zz1wZk4Lb5PTVwZ3HWDmm8XnlPvmOof6/fjdDPA5yBrUcbtV64U6bV832Zf1BtU2WkBBWaUT46wCs+l0HP5nhg==", + "dev": true + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true }, "uuid": { "version": "3.4.0", @@ -4575,6 +4767,37 @@ } } }, + "vsce": { + "version": "1.103.1", + "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.103.1.tgz", + "integrity": "sha512-98oKQKKRp7J/vTIk1cuzom5cezZpYpRHs3WlySdsrTCrAEipB/HvaPTc4VZ3hGZHzHXS9P5p2L0IllntJeXwiQ==", + "dev": true, + "requires": { + "azure-devops-node-api": "^11.0.1", + "chalk": "^2.4.2", + "cheerio": "^1.0.0-rc.9", + "commander": "^6.1.0", + "denodeify": "^1.2.1", + "glob": "^7.0.6", + "hosted-git-info": "^4.0.2", + "keytar": "^7.7.0", + "leven": "^3.1.0", + "lodash": "^4.17.15", + "markdown-it": "^10.0.0", + "mime": "^1.3.4", + "minimatch": "^3.0.3", + "osenv": "^0.1.3", + "parse-semver": "^1.1.1", + "read": "^1.0.7", + "semver": "^5.1.0", + "tmp": "^0.2.1", + "typed-rest-client": "^1.8.4", + "url-join": "^1.1.0", + "xml2js": "^0.4.23", + "yauzl": "^2.3.1", + "yazl": "^2.2.2" + } + }, "vscode-textmate": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-4.4.0.tgz", diff --git a/package.json b/package.json index 4a069a78..781b5d70 100644 --- a/package.json +++ b/package.json @@ -57,8 +57,7 @@ "oniguruma": "^7.2.0", "ovsx": "^0.5.1", "textmate-bailout": "^1.1.0", - "textmate-tester": "^1.1.9" - }, - "dependencies": { + "textmate-tester": "^1.1.9", + "vsce": "^1.103.1" } } From 562ec9a12ecc21179d54e9bc7bfae5f4cd4fff00 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 31 Jan 2023 12:37:43 -0600 Subject: [PATCH 10/65] fix 621 --- autogenerated/cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 2 +- language_examples/#621.cpp | 6 ++++++ main/main.rb | 14 ++++++++------ 4 files changed, 16 insertions(+), 8 deletions(-) create mode 100644 language_examples/#621.cpp diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index ebe55f91..986c477b 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\())","end":"(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\())","end":"(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()","end":"\\)|(?=(?|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()","end":"\\)|(?=(?|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];]))", + "begin": "(?:(?<=[^\\s]|^)(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];=]))", "end": "(?<=[;}])", "beginCaptures": { "1": { diff --git a/language_examples/#621.cpp b/language_examples/#621.cpp new file mode 100644 index 00000000..3981c4ca --- /dev/null +++ b/language_examples/#621.cpp @@ -0,0 +1,6 @@ +static const std::string led_paths[] { + [RED] = LED_PATH("red"), + [GREEN] = LED_PATH("green"), + [BLUE] = LED_PATH("blue"), + [WHITE] = LED_PATH("white"), +}; \ No newline at end of file diff --git a/main/main.rb b/main/main.rb index d635758f..6a04bb4b 100644 --- a/main/main.rb +++ b/main/main.rb @@ -2056,11 +2056,12 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: should_partial_match: [ "[]", "[=](", "[&]{", "[x,y,x]", "[x, y, &z, w = 1 + 1] (", "[ a = blah[1324], b, c ] {" ], should_not_partial_match: [ "delete[]", "thing[]", "thing []", "thing []", "thing[0][0] = 0" ], match: Pattern.new( - match: lookBehindFor(/[^\s]|^/).lookBehindToAvoid(/[\w\]\)\[\*&">]/).or(lookBehindFor(non_variable_name)).maybe(@spaces).then( - match: Pattern.new(/\[/).lookAheadToAvoid(/\[| *+"| *+\d/), - tag_as: "punctuation.definition.capture.begin.lambda", - ) - ).then( + Pattern.new( + match: lookBehindFor(/[^\s]|^/).lookBehindToAvoid(/[\w\]\)\[\*&">]/).or(lookBehindFor(non_variable_name)).maybe(@spaces).then( + match: Pattern.new(/\[/).lookAheadToAvoid(/\[| *+"| *+\d/), + tag_as: "punctuation.definition.capture.begin.lambda", + ) + ).then( match: zeroOrMoreOf( match: Pattern.new(/[^\[\]]/).or(only_balanced_square_bracke), dont_back_track?: true, @@ -2083,9 +2084,10 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :evaluation_context ], ).then( - match: Pattern.new(/\]/).lookAheadToAvoid(std_space.then(/[\[\];]/)), + match: Pattern.new(/\]/).lookAheadToAvoid(std_space.then(/[\[\];=]/)), tag_as: "punctuation.definition.capture.end.lambda", ) + ) ), end_pattern: Pattern.new( match: lookBehindFor(/[;}]/), From 60bbc17ed3b983f8b90bff3b64dce285c818f95b Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Fri, 3 Feb 2023 15:29:40 -0600 Subject: [PATCH 11/65] - --- main/main.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/main/main.rb b/main/main.rb index 6a04bb4b..0b6b3eb0 100644 --- a/main/main.rb +++ b/main/main.rb @@ -1070,7 +1070,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # # Functions, Operator Overload # - optional_calling_convention = std_space.maybe( + optional_calling_convention = maybe( match: /__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall/, tag_as: "storage.type.modifier.calling-convention" ).then(std_space) @@ -1172,7 +1172,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as:"meta.function.definition.special.operator-overload", start_pattern: Pattern.new( # find the return type (if there is one) - maybe(grammar[:simple_type].then(std_space)).then(optional_calling_convention).then( + std_space.maybe(grammar[:simple_type].then(std_space)).then(optional_calling_convention).then( std_space ).then( inline_scope_resolution[".operator"] @@ -1511,7 +1511,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ) ] grammar[:destructor_root] = destructor[ - optional_calling_convention.then( + std_space.then(optional_calling_convention).then( inline_scope_resolution[".destructor"] ).then( match: Pattern.new( From e40f158d5b2a3d795c93d0be4cd28b5d09d04c86 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Fri, 3 Feb 2023 15:41:46 -0600 Subject: [PATCH 12/65] formatting --- syntaxes/cpp.tmLanguage.json | 31375 +++++++++++++-------------------- 1 file changed, 11917 insertions(+), 19458 deletions(-) diff --git a/syntaxes/cpp.tmLanguage.json b/syntaxes/cpp.tmLanguage.json index 86931046..0bef9617 100644 --- a/syntaxes/cpp.tmLanguage.json +++ b/syntaxes/cpp.tmLanguage.json @@ -1,20002 +1,12461 @@ { - "information_for_contributors": [ - "This code was auto generated by a much-more-readable ruby file", - "This file essentially an updated/improved fork of the atom syntax", - "see https://github.com/jeff-hykin/cpp-textmate-grammar/blob/master" - ], - "version": "", - "name": "C++", - "scopeName": "source.cpp", - "fileTypes": [ - "cc", - "cpp", - "cp", - "cxx", - "c++", - "C", - "h", - "hh", - "hpp", - "h++" - ], - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#constructor_root" - }, - { - "include": "#destructor_root" - }, - { - "include": "#function_definition" - }, - { - "include": "#operator_overload" - }, - { - "include": "#using_namespace" - }, - { - "include": "#type_alias" - }, - { - "include": "#using_name" - }, - { - "include": "#namespace_alias" - }, - { - "include": "#namespace_block" - }, - { - "include": "#extern_block" - }, - { - "include": "#typedef_class" - }, - { - "include": "#typedef_struct" - }, - { - "include": "#typedef_union" - }, - { - "include": "#misc_keywords" - }, - { - "include": "#standard_declares" - }, - { - "include": "#class_block" - }, - { - "include": "#struct_block" - }, - { - "include": "#union_block" - }, - { - "include": "#enum_block" - }, - { - "include": "#template_isolated_definition" - }, - { - "include": "#template_definition" - }, - { - "include": "#access_control_keywords" - }, - { - "include": "#block" - }, - { - "include": "#static_assert" - }, - { - "include": "#assembly" - }, - { - "include": "#function_pointer" - }, - { - "include": "#evaluation_context" - } - ], - "repository": { - "access_control_keywords": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" + "information_for_contributors": [ + "This code was auto generated by a much-more-readable ruby file", + "This file essentially an updated/improved fork of the atom syntax", + "see https://github.com/jeff-hykin/cpp-textmate-grammar/blob/master" + ], + "version": "", + "name": "C++", + "scopeName": "source.cpp", + "fileTypes": [ + "cc", + "cpp", + "cp", + "cxx", + "c++", + "C", + "h", + "hh", + "hpp", + "h++" + ], + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#constructor_root" }, + { "include": "#destructor_root" }, + { "include": "#function_definition" }, + { "include": "#operator_overload" }, + { "include": "#using_namespace" }, + { "include": "#type_alias" }, + { "include": "#using_name" }, + { "include": "#namespace_alias" }, + { "include": "#namespace_block" }, + { "include": "#extern_block" }, + { "include": "#typedef_class" }, + { "include": "#typedef_struct" }, + { "include": "#typedef_union" }, + { "include": "#misc_keywords" }, + { "include": "#standard_declares" }, + { "include": "#class_block" }, + { "include": "#struct_block" }, + { "include": "#union_block" }, + { "include": "#enum_block" }, + { "include": "#template_isolated_definition" }, + { "include": "#template_definition" }, + { "include": "#access_control_keywords" }, + { "include": "#block" }, + { "include": "#static_assert" }, + { "include": "#assembly" }, + { "include": "#function_pointer" }, + { "include": "#evaluation_context" } + ], + "repository": { + "access_control_keywords": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "storage.type.modifier.access.control.$4.cpp" - }, - "4": { - }, - "5": { - "name": "punctuation.separator.colon.access.control.cpp" - } - } - }, - "alignas_attribute": { - "begin": "alignas\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.attribute.begin.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.attribute.end.cpp" - } - }, - "name": "support.other.attribute.cpp", - "patterns": [ - { - "include": "#attributes_context" - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - }, - "endCaptures": { - }, - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#string_context" - } - ] - }, - { - "match": "(using)(?:\\s)+((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" - } - }, - "contentName": "meta.arguments.operator.alignas", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "alignof_operator": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" + "3": { "name": "storage.type.modifier.access.control.$4.cpp" }, + "4": { }, + "5": { "name": "punctuation.separator.colon.access.control.cpp" } } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" - } - }, - "contentName": "meta.arguments.operator.alignof", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "assembly": { - "begin": "(\\b(?:__asm__|asm)\\b)(?:(?:\\s)+)?((?:volatile)?)", - "end": "(?!\\G)", - "beginCaptures": { - "1": { - "name": "storage.type.asm.cpp" }, - "2": { - "name": "storage.modifier.cpp" - } - }, - "endCaptures": { - }, - "name": "meta.asm.cpp", - "patterns": [ - { - "match": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\n)|$)", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ + "alignas_attribute": { + "begin": "alignas\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.section.attribute.begin.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.attribute.end.cpp" } }, + "name": "support.other.attribute.cpp", + "patterns": [ + { "include": "#attributes_context" }, { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "begin": "\\(", + "end": "\\)", + "beginCaptures": { }, + "endCaptures": { }, + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#string_context" } + ] }, { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "include": "#comments" - }, - { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parens.begin.bracket.round.assembly.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(using)(?:\\s)+((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - { - "include": "#backslash_escapes" + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" } }, + "contentName": "meta.arguments.operator.alignas", + "patterns": [ { "include": "#evaluation_context" } ] + }, + "alignof_operator": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - { - "include": "#string_escaped_char" - } - ] + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" } }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp" - } - }, - "patterns": [ - { - "include": "#evaluation_context" - } - ] + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" } }, + "contentName": "meta.arguments.operator.alignof", + "patterns": [ { "include": "#evaluation_context" } ] + }, + "assembly": { + "begin": "(\\b(?:__asm__|asm)\\b)(?:(?:\\s)+)?((?:volatile)?)", + "end": "(?!\\G)", + "beginCaptures": { + "1": { "name": "storage.type.asm.cpp" }, + "2": { "name": "storage.modifier.cpp" } }, - { - "match": "\\[((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" + "endCaptures": { }, + "name": "meta.asm.cpp", + "patterns": [ + { + "match": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\n)|$)", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + { "include": "#comments" }, + { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\(", + "end": "\\)", + "beginCaptures": { + "0": { "name": "punctuation.section.parens.begin.bracket.round.assembly.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, + "endCaptures": { "0": { "name": "punctuation.section.parens.end.bracket.round.assembly.cpp" } }, + "patterns": [ + { + "begin": "(R?)(\")", + "end": "\"", + "beginCaptures": { + "1": { "name": "meta.encoding.cpp" }, + "2": { "name": "punctuation.definition.string.begin.assembly.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.definition.string.end.assembly.cpp" } }, + "name": "string.quoted.double.cpp", + "contentName": "meta.embedded.assembly", + "patterns": [ + { "include": "source.asm" }, + { "include": "source.x86" }, + { "include": "source.x86_64" }, + { "include": "source.arm" }, + { "include": "#backslash_escapes" }, + { "include": "#string_escaped_char" } + ] + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp" } }, + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "match": "\\[((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { "name": "variable.other.asm.label.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": ":", + "name": "punctuation.separator.delimiter.colon.assembly.cpp" + }, + { "include": "#comments" } + ] + } + ] + }, + "assignment_operator": { + "match": "\\=", + "name": "keyword.operator.assignment.cpp" + }, + "attributes_context": { + "patterns": [ + { "include": "#cpp_attributes" }, + { "include": "#gcc_attributes" }, + { "include": "#ms_attributes" }, + { "include": "#alignas_attribute" } + ] + }, + "backslash_escapes": { + "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", + "name": "constant.character.escape" + }, + "block": { + "begin": "{", + "end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)", + "beginCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.cpp" } }, + "name": "meta.block.cpp", + "patterns": [ { "include": "#function_body_context" } ] + }, + "block_comment": { + "begin": "\\s*+(\\/\\*)", + "end": "\\*\\/", + "beginCaptures": { "1": { "name": "punctuation.definition.comment.begin.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.definition.comment.end.cpp" } }, + "name": "comment.block.cpp" + }, + "builtin_storage_type_initilizer": { + "begin": "(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.class.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, "5": { - "name": "variable.other.asm.label.cpp" + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { "name": "storage.type.modifier.final.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { "name": "entity.name.type.class.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "storage.type.modifier.final.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + } + ] }, - "8": { - "name": "comment.block.cpp" + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "14": { "name": "comment.block.cpp" }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "18": { "name": "comment.block.cpp" }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "20": { "name": "punctuation.separator.colon.inheritance.cpp" } + }, + "endCaptures": { + "1": { "name": "punctuation.terminator.statement.cpp" }, + "2": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.block.class.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.class.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "class_declare": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { "name": "storage.type.class.declare.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { "name": "entity.name.type.class.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { "name": "variable.other.object.declare.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - } - }, - { - "match": ":", - "name": "punctuation.separator.delimiter.colon.assembly.cpp" - }, - { - "include": "#comments" - } - ] - } - ] - }, - "assignment_operator": { - "match": "\\=", - "name": "keyword.operator.assignment.cpp" - }, - "attributes_context": { - "patterns": [ - { - "include": "#cpp_attributes" - }, - { - "include": "#gcc_attributes" - }, - { - "include": "#ms_attributes" - }, - { - "include": "#alignas_attribute" - } - ] - }, - "backslash_escapes": { - "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", - "name": "constant.character.escape" - }, - "block": { - "begin": "{", - "end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)", - "beginCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.cpp" - } - }, - "name": "meta.block.cpp", - "patterns": [ - { - "include": "#function_body_context" - } - ] - }, - "block_comment": { - "begin": "\\s*+(\\/\\*)", - "end": "\\*\\/", - "beginCaptures": { - "1": { - "name": "punctuation.definition.comment.begin.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.comment.end.cpp" - } - }, - "name": "comment.block.cpp" - }, - "builtin_storage_type_initilizer": { - "begin": "(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.class.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" } - ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "comma": { + "match": ",", + "name": "punctuation.separator.delimiter.comma.cpp" }, - "4": { - "name": "comment.block.cpp" + "comma_in_template_argument": { + "match": ",", + "name": "punctuation.separator.delimiter.comma.template.argument.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { - "name": "storage.type.modifier.final.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "comments": { + "patterns": [ + { + "begin": "^(?:(?:\\s)+)?+(\\/\\/[!\\/]+)", + "end": "(?<=\\n)(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.italic.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.bold.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.inline.raw.string.cpp" } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { + "patterns": [ + { + "match": "in|out", + "name": "keyword.other.parameter.direction.$0.cpp" + } + ] + }, + "3": { "name": "variable.parameter.cpp" } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", + "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": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)", + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.italic.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.bold.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.inline.raw.string.cpp" } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { + "patterns": [ + { + "match": "in|out", + "name": "keyword.other.parameter.direction.$0.cpp" + } + ] + }, + "3": { "name": "variable.parameter.cpp" } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", + "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" } + }, + "name": "comment.block.documentation.cpp" }, + { + "begin": "(?:(?:\\s)+)?+\\/\\*[!*]+(?:(?:(?:\\n)|$)|(?=\\s))", + "end": "[!*]*\\*\\/", + "beginCaptures": { "0": { "name": "punctuation.definition.comment.begin.documentation.cpp" } }, + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.italic.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.bold.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.inline.raw.string.cpp" } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { + "patterns": [ + { + "match": "in|out", + "name": "keyword.other.parameter.direction.$0.cpp" + } + ] + }, + "3": { "name": "variable.parameter.cpp" } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" + }, + { + "match": "(?:\\b[A-Z]+:|@[a-z_]+:)", + "name": "storage.type.class.gtkdoc.cpp" + } + ] + }, + { "include": "#emacs_file_banner" }, + { "include": "#block_comment" }, + { "include": "#line_comment" }, + { "include": "#invalid_comment_end" } + ] + }, + "constructor_inline": { + "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { - "name": "entity.name.type.class.cpp" + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "5": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "12": { "name": "comment.block.cpp" }, + "13": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, + "14": { "name": "storage.type.modifier.calling-convention.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "17": { "name": "comment.block.cpp" }, + "18": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "19": { "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" } + }, + "endCaptures": { }, + "name": "meta.function.definition.special.constructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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" }, + { + "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "captures": { + "1": { "name": "keyword.operator.assignment.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "keyword.other.default.constructor.cpp" }, + "7": { "name": "keyword.other.delete.constructor.cpp" } + } + }, + { "include": "#functional_specifiers_pre_parameters" }, + { + "begin": ":", + "end": "(?=\\{)", + "beginCaptures": { "0": { "name": "punctuation.separator.initializers.cpp" } }, + "endCaptures": { }, + "patterns": [ + { + "begin": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "entity.name.function.call.initializer.cpp" }, + "2": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "3": { }, + "4": { "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, + "contentName": "meta.parameter.initialization", + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "begin": "((?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.special.constructor.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "constructor_root": { + "begin": "\\s*+((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())", + "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "6": { - "name": "storage.type.modifier.final.cpp" + "5": { "name": "storage.type.modifier.calling-convention.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "10": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" + }, + { + "match": "(?|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.class.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "class_declare": { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { - "name": "storage.type.class.declare.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "21": { "name": "comment.block.cpp" }, + "22": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "2": { - "name": "comment.block.cpp" + "23": { "patterns": [ { "include": "#inline_comment" } ] }, + "24": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "25": { "name": "comment.block.cpp" }, + "26": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { }, + "name": "meta.function.definition.special.constructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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" }, + { + "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "captures": { + "1": { "name": "keyword.operator.assignment.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "keyword.other.default.constructor.cpp" }, + "7": { "name": "keyword.other.delete.constructor.cpp" } + } + }, + { "include": "#functional_specifiers_pre_parameters" }, + { + "begin": ":", + "end": "(?=\\{)", + "beginCaptures": { "0": { "name": "punctuation.separator.initializers.cpp" } }, + "endCaptures": { }, + "patterns": [ + { + "begin": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "entity.name.function.call.initializer.cpp" }, + "2": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "3": { }, + "4": { "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, + "contentName": "meta.parameter.initialization", + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "begin": "((?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.special.constructor.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "control_flow_keywords": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "3": { "name": "keyword.control.$3.cpp" } } - ] }, - "4": { - "name": "entity.name.type.class.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" + "cpp_attributes": { + "begin": "\\[\\[", + "end": "\\]\\]", + "beginCaptures": { "0": { "name": "punctuation.section.attribute.begin.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.attribute.end.cpp" } }, + "name": "support.other.attribute.cpp", + "patterns": [ + { "include": "#attributes_context" }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { }, + "endCaptures": { }, + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#string_context" } + ] + }, + { + "match": "(using)(?:\\s)+((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { + "curly_initializer": { + "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\{)", + "end": "\\}", + "beginCaptures": { "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] }, "2": { - "name": "comment.block.cpp" + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "2": { - "name": "comment.block.cpp" + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "name": "variable.other.object.declare.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "11": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "comma": { - "match": ",", - "name": "punctuation.separator.delimiter.comma.cpp" - }, - "comma_in_template_argument": { - "match": ",", - "name": "punctuation.separator.delimiter.comma.template.argument.cpp" - }, - "comments": { - "patterns": [ - { - "begin": "^(?:(?:\\s)+)?+(\\/\\/[!\\/]+)", - "end": "(?<=\\n)(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" + "3": { "name": "keyword.control.directive.import.cpp" }, + "5": { "name": "string.quoted.other.lt-gt.include.cpp" }, + "6": { "name": "punctuation.definition.string.begin.cpp" }, + "7": { "name": "punctuation.definition.string.end.cpp" }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "markup.italic.doxygen.cpp" - } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" + "10": { "name": "string.quoted.double.include.cpp" }, + "11": { "name": "punctuation.definition.string.begin.cpp" }, + "12": { "name": "punctuation.definition.string.end.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "markup.bold.doxygen.cpp" - } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" + "15": { "name": "entity.name.other.preprocessor.macro.include.cpp" }, + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "markup.inline.raw.string.cpp" - } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" + "18": { "patterns": [ { "include": "#inline_comment" } ] }, + "19": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "patterns": [ - { - "match": "in|out", - "name": "keyword.other.parameter.direction.$0.cpp" - } - ] + "20": { "patterns": [ { "include": "#inline_comment" } ] }, + "21": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "name": "variable.parameter.cpp" - } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" + "22": { "name": "punctuation.terminator.statement.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" + "name": "meta.preprocessor.import.cpp" + }, + "d9bc4796b0b_preprocessor_number_literal": { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.section.arguments.begin.bracket.round.decltype.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" + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp" } }, + "contentName": "meta.arguments.decltype", + "patterns": [ { "include": "#evaluation_context" } ] + }, + "decltype_specifier": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" - }, - "2": { - "name": "markup.italic.doxygen.cpp" - } - } + "6": { "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp" } }, + "contentName": "meta.arguments.decltype", + "patterns": [ { "include": "#evaluation_context" } ] + }, + "default_statement": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(~(?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" - }, - "2": { - "name": "markup.inline.raw.string.cpp" - } - } + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "7": { "name": "comment.block.cpp" }, + "8": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" + "9": { "name": "storage.type.modifier.calling-convention.cpp" }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "12": { "name": "comment.block.cpp" }, + "13": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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" + "14": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "17": { "name": "comment.block.cpp" }, + "18": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "19": { "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" } + }, + "endCaptures": { }, + "name": "meta.function.definition.special.member.destructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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" }, + { + "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "captures": { + "1": { "name": "keyword.operator.assignment.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "keyword.other.default.constructor.cpp" }, + "7": { "name": "keyword.other.delete.constructor.cpp" } + } + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" } }, + "contentName": "meta.function.definition.parameters.special.member.destructor", + "patterns": [ ] + }, + { + "match": "((?:(?:final)|(?:override)))+", + "captures": { "1": { "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp" } } + }, + { "include": "$self" } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.special.member.destructor.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "destructor_root": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))~\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())", + "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" - }, - "2": { - "patterns": [ + "5": { "name": "storage.type.modifier.calling-convention.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, { - "match": "in|out", - "name": "keyword.other.parameter.direction.$0.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "3": { - "name": "variable.parameter.cpp" - } - } + ] }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" + "10": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" + }, + { + "match": "(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" + "14": { }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "17": { "name": "comment.block.cpp" }, + "18": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "2": { - "name": "markup.italic.doxygen.cpp" - } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "21": { "name": "comment.block.cpp" }, + "22": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "2": { - "name": "markup.bold.doxygen.cpp" - } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" + "23": { "patterns": [ { "include": "#inline_comment" } ] }, + "24": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "25": { "name": "comment.block.cpp" }, + "26": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { }, + "name": "meta.function.definition.special.member.destructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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" }, + { + "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "captures": { + "1": { "name": "keyword.operator.assignment.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "keyword.other.default.constructor.cpp" }, + "7": { "name": "keyword.other.delete.constructor.cpp" } + } + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" } }, + "contentName": "meta.function.definition.parameters.special.member.destructor", + "patterns": [ ] + }, + { + "match": "((?:(?:final)|(?:override)))+", + "captures": { "1": { "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp" } } + }, + { "include": "$self" } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.special.member.destructor.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "diagnostic": { + "begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?", + "end": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.enum.cpp" }, + "1": { "name": "storage.type.enum.cpp" }, + "2": { "name": "storage.type.enum.enum-key.$2.cpp" }, + "3": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "4": { "name": "entity.name.type.enum.cpp" }, + "5": { "name": "punctuation.separator.colon.type-specifier.cpp" }, + "6": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, + "7": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, + "8": { "patterns": [ { "include": "#template_call_range" } ] }, + "9": { }, + "10": { "name": "entity.name.scope-resolution.cpp" }, + "11": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "12": { }, + "13": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, + "14": { "name": "storage.type.integral.$14.cpp" } + }, + "endCaptures": { + "1": { "name": "punctuation.terminator.statement.cpp" }, + "2": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.block.enum.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.enum.cpp" } }, + "name": "meta.head.enum.cpp", + "patterns": [ { "include": "$self" } ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.enum.cpp" } }, + "name": "meta.body.enum.cpp", + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#enumerator_list" }, + { "include": "#comments" }, + { "include": "#comma" }, + { "include": "#semicolon" } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.enum.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "enum_declare": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { "name": "storage.type.enum.declare.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "markup.inline.raw.string.cpp" - } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" + "4": { "name": "entity.name.type.enum.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] }, - "2": { - "patterns": [ - { - "match": "in|out", - "name": "keyword.other.parameter.direction.$0.cpp" - } - ] + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "name": "variable.parameter.cpp" + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { "name": "variable.other.object.declare.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "(?:\\b[A-Z]+:|@[a-z_]+:)", - "name": "storage.type.class.gtkdoc.cpp" - } - ] - }, - { - "include": "#emacs_file_banner" - }, - { - "include": "#block_comment" - }, - { - "include": "#line_comment" - }, - { - "include": "#invalid_comment_end" - } - ] - }, - "constructor_inline": { - "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.constructor.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "patterns": [ - { - "include": "#functional_specifiers_pre_parameters" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "12": { - "name": "comment.block.cpp" - }, - "13": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "14": { - "name": "storage.type.modifier.calling-convention.cpp" - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" } - ] - }, - "16": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "17": { - "name": "comment.block.cpp" }, - "18": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" + "enumerator_list": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { "name": "keyword.control.exception.$3.cpp" } } - ] }, - "19": { - "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" - } - }, - "endCaptures": { - }, - "name": "meta.function.definition.special.constructor.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "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" - }, - { - "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", - "captures": { - "1": { - "name": "keyword.operator.assignment.cpp" + "extern_block": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(extern)(?=\\s*\\\")", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.extern.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { "name": "storage.type.extern.cpp" } + }, + "endCaptures": { + "1": { "name": "punctuation.terminator.statement.cpp" }, + "2": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.block.extern.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.extern.cpp" } }, + "name": "meta.head.extern.cpp", + "patterns": [ { "include": "$self" } ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.extern.cpp" } }, + "name": "meta.body.extern.cpp", + "patterns": [ { "include": "$self" } ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.extern.cpp", + "patterns": [ { "include": "$self" } ] + }, + { "include": "$self" } + ] + }, + "function_body_context": { + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#using_namespace" }, + { "include": "#type_alias" }, + { "include": "#using_name" }, + { "include": "#namespace_alias" }, + { "include": "#typedef_class" }, + { "include": "#typedef_struct" }, + { "include": "#typedef_union" }, + { "include": "#misc_keywords" }, + { "include": "#standard_declares" }, + { "include": "#class_block" }, + { "include": "#struct_block" }, + { "include": "#union_block" }, + { "include": "#enum_block" }, + { "include": "#access_control_keywords" }, + { "include": "#block" }, + { "include": "#static_assert" }, + { "include": "#assembly" }, + { "include": "#function_pointer" }, + { "include": "#switch_statement" }, + { "include": "#goto_statement" }, + { "include": "#evaluation_context" }, + { "include": "#label" } + ] + }, + "function_call": { + "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.function.call.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "10": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "11": { }, + "12": { "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" } }, + "patterns": [ { "include": "#evaluation_context" } ] + }, + "function_definition": { + "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\()", + "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "5": { "name": "storage.type.template.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "4": { - "name": "comment.block.cpp" + "10": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { "name": "storage.modifier.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "6": { - "name": "keyword.other.default.constructor.cpp" + "12": { "name": "storage.modifier.$12.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "15": { "name": "comment.block.cpp" }, + "16": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "7": { - "name": "keyword.other.delete.constructor.cpp" - } - } - }, - { - "include": "#functional_specifiers_pre_parameters" - }, - { - "begin": ":", - "end": "(?=\\{)", - "beginCaptures": { - "0": { - "name": "punctuation.separator.initializers.cpp" - } - }, - "endCaptures": { - }, - "patterns": [ - { - "begin": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "entity.name.function.call.initializer.cpp" - }, - "2": { - "name": "meta.template.call.cpp", - "patterns": [ + "17": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, { - "include": "#template_call_range" + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" } - ] - }, - "3": { - }, - "4": { - "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" - } - }, - "contentName": "meta.parameter.initialization", - "patterns": [ - { - "include": "#evaluation_context" - } - ] + ] }, - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "36": { "patterns": [ { "include": "#inline_comment" } ] }, + "37": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "38": { "name": "comment.block.cpp" }, + "39": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "40": { "patterns": [ { "include": "#inline_comment" } ] }, + "41": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "42": { "name": "comment.block.cpp" }, + "43": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "44": { "patterns": [ { "include": "#inline_comment" } ] }, + "45": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "46": { "name": "comment.block.cpp" }, + "47": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "48": { "patterns": [ { "include": "#inline_comment" } ] }, + "49": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "50": { "name": "comment.block.cpp" }, + "51": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "52": { "name": "storage.type.modifier.calling-convention.cpp" }, + "53": { "patterns": [ { "include": "#inline_comment" } ] }, + "54": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "55": { "name": "comment.block.cpp" }, + "56": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "57": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, + "58": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, + "59": { "patterns": [ { "include": "#template_call_range" } ] }, + "60": { }, + "61": { "name": "entity.name.function.definition.cpp" }, + "62": { "patterns": [ { "include": "#inline_comment" } ] }, + "63": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "64": { "name": "comment.block.cpp" }, + "65": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { }, + "name": "meta.function.definition.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp" } }, + "name": "meta.head.function.definition.cpp", + "patterns": [ + { "include": "#ever_present_context" }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.section.parameters.begin.bracket.round.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.parameters.end.bracket.round.cpp" } }, + "contentName": "meta.function.definition.parameters", + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#parameter_or_maybe_value" }, + { "include": "#comma" }, + { "include": "#evaluation_context" } + ] + }, + { + "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)?(?![\\w<:.]))", + "captures": { + "1": { "name": "punctuation.definition.function.return-type.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "7": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "10": { "name": "comment.block.cpp" }, + "11": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "14": { "name": "comment.block.cpp" }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.function.definition.cpp" } }, + "name": "meta.body.function.definition.cpp", + "patterns": [ { "include": "#function_body_context" } ] }, { - "include": "#evaluation_context" - } - ] - }, - { - "match": "((?:(?:final)|(?:override)))+", - "captures": { - "1": { - "name": "keyword.operator.$1.cpp" + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.cpp", + "patterns": [ { "include": "$self" } ] } - } - }, - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.constructor.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "constructor_root": { - "begin": "\\s*+((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())", - "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.constructor.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "name": "storage.type.modifier.calling-convention.cpp" + ] }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", - "captures": { + "function_pointer": { + "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { "1": { - "name": "keyword.operator.assignment.cpp" + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] }, "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "4": { - "name": "comment.block.cpp" + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "20": { "patterns": [ { "include": "#inline_comment" } ] }, + "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "22": { "name": "comment.block.cpp" }, + "23": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, + "24": { "patterns": [ { "include": "#inline_comment" } ] }, + "25": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "26": { "name": "comment.block.cpp" }, + "27": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "28": { "patterns": [ { "include": "#inline_comment" } ] }, + "29": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "30": { "name": "comment.block.cpp" }, + "31": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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" } + }, + "endCaptures": { + "1": { "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "patterns": [ { "include": "#function_parameter_context" } ] + }, + "function_pointer_parameter": { + "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, "6": { - "name": "keyword.other.default.constructor.cpp" + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "7": { - "name": "keyword.other.delete.constructor.cpp" + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "20": { "patterns": [ { "include": "#inline_comment" } ] }, + "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "22": { "name": "comment.block.cpp" }, + "23": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "24": { "patterns": [ { "include": "#inline_comment" } ] }, + "25": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "26": { "name": "comment.block.cpp" }, + "27": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "28": { "patterns": [ { "include": "#inline_comment" } ] }, + "29": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "30": { "name": "comment.block.cpp" }, + "31": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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" } + }, + "endCaptures": { + "1": { "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } - } }, - { - "include": "#functional_specifiers_pre_parameters" - }, - { - "begin": ":", - "end": "(?=\\{)", - "beginCaptures": { - "0": { - "name": "punctuation.separator.initializers.cpp" - } - }, - "endCaptures": { - }, - "patterns": [ + "patterns": [ { "include": "#function_parameter_context" } ] + }, + "functional_specifiers_pre_parameters": { + "match": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "entity.name.function.call.initializer.cpp" - }, - "2": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "3": { - }, - "4": { - "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" - } - }, - "contentName": "meta.parameter.initialization", - "patterns": [ - { - "include": "#evaluation_context" - } - ] + "begin": "\\(", + "end": "\\)", + "beginCaptures": { }, + "endCaptures": { }, + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#string_context" } + ] }, { - "begin": "((?|\\?\\?>", - "beginCaptures": { - }, - "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" + "goto_statement": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)", + "captures": { + "1": { "name": "keyword.control.goto.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { "name": "entity.name.label.call.cpp" } } - ] }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.constructor.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "control_flow_keywords": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, + "include": { + "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((#)(?:(?:\\s)+)?((?:include|include_next))\\b)(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { - "name": "comment.block.cpp" + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { "name": "keyword.control.directive.$5.cpp" }, + "4": { "name": "punctuation.definition.directive.cpp" }, + "6": { "name": "string.quoted.other.lt-gt.include.cpp" }, + "7": { "name": "punctuation.definition.string.begin.cpp" }, + "8": { "name": "punctuation.definition.string.end.cpp" }, + "9": { "patterns": [ { "include": "#inline_comment" } ] }, + "10": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "11": { "name": "string.quoted.double.include.cpp" }, + "12": { "name": "punctuation.definition.string.begin.cpp" }, + "13": { "name": "punctuation.definition.string.end.cpp" }, + "14": { "patterns": [ { "include": "#inline_comment" } ] }, + "15": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "16": { "name": "entity.name.other.preprocessor.macro.include.cpp" }, + "17": { "patterns": [ { "include": "#inline_comment" } ] }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "21": { "patterns": [ { "include": "#inline_comment" } ] }, + "22": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - } - } - ] - }, - "3": { - "name": "keyword.control.$3.cpp" - } - } - }, - "cpp_attributes": { - "begin": "\\[\\[", - "end": "\\]\\]", - "beginCaptures": { - "0": { - "name": "punctuation.section.attribute.begin.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.attribute.end.cpp" - } - }, - "name": "support.other.attribute.cpp", - "patterns": [ - { - "include": "#attributes_context" - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - }, - "endCaptures": { - }, - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#string_context" - } - ] - }, - { - "match": "(using)(?:\\s)+((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\{)", - "end": "\\}", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ + "inheritance_context": { + "patterns": [ + { "include": "#ever_present_context" }, { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "match": ",", + "name": "punctuation.separator.delimiter.comma.inheritance.cpp" }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "keyword.control.directive.import.cpp" - }, - "5": { - "name": "string.quoted.other.lt-gt.include.cpp" - }, - "6": { - "name": "punctuation.definition.string.begin.cpp" - }, - "7": { - "name": "punctuation.definition.string.end.cpp" - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))", + "captures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { } } - ] } - } - } - ] - }, - "10": { - "name": "string.quoted.double.include.cpp" - }, - "11": { - "name": "punctuation.definition.string.begin.cpp" + ] }, - "12": { - "name": "punctuation.definition.string.end.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" + "inline_builtin_storage_type": { + "match": "(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, + "inline_comment": { + "match": "(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } - } } - ] - }, - "15": { - "name": "entity.name.other.preprocessor.macro.include.cpp" }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "invalid_comment_end": { + "match": "\\*\\/", + "name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp" }, - "17": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, + "label": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:)", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { - "name": "comment.block.cpp" + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { "name": "entity.name.label.cpp" }, + "4": { "patterns": [ { "include": "#inline_comment" } ] }, + "5": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "6": { "name": "punctuation.separator.label.cpp" } + } + }, + "lambdas": { + "begin": "(?:(?<=[^\\s]|^)(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))[\\[\\];]))", + "end": "(?<=[;}])", + "beginCaptures": { + "1": { "name": "punctuation.definition.capture.begin.lambda.cpp" }, + "2": { + "name": "meta.lambda.capture.cpp", + "patterns": [ + { "include": "#the_this_keyword" }, + { + "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", + "captures": { + "1": { "name": "variable.parameter.capture.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.separator.delimiter.comma.cpp" }, + "7": { "name": "keyword.operator.assignment.cpp" } + } + }, + { "include": "#evaluation_context" } + ] + }, + "3": { }, + "4": { "name": "punctuation.definition.capture.end.lambda.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "7": { "name": "comment.block.cpp" }, + "8": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } - } - } - ] - }, - "18": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "19": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "endCaptures": { }, + "patterns": [ + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.definition.parameters.begin.lambda.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.definition.parameters.end.lambda.cpp" } }, + "name": "meta.function.definition.parameters.lambda.cpp", + "patterns": [ { "include": "#function_parameter_context" } ] }, - "2": { - "name": "comment.block.cpp" + { + "match": "(?)((?:.+?(?=\\{|$))?)", + "captures": { + "1": { "name": "punctuation.definition.lambda.return-type.cpp" }, + "2": { "name": "storage.type.return-type.lambda.cpp" } } - ] - } - } - } - ] - }, - "20": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "21": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "begin": "\\{", + "end": "\\}", + "beginCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.lambda.cpp" } }, + "name": "meta.function.definition.body.lambda.cpp", + "patterns": [ { "include": "$self" } ] } - } - } - ] + ] }, - "22": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.preprocessor.import.cpp" - }, - "d9bc4796b0b_preprocessor_number_literal": { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b", + "end": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?define\\b)(?:(?:\\s)+)?((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|suseconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|useconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_addr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_port_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|blksize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|unsigned[^Pattern.new(\n match: \\/\\w\\/,\n)]|blkcnt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|swblk_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|wchar_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_short[^Pattern.new(\n match: \\/\\w\\/,\n)]|qaddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|caddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|daddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|fixpt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|nlink_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|segsz_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|clock_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ssize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|mode_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_long[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_char[^Pattern.new(\n match: \\/\\w\\/,\n)]|double[^Pattern.new(\n match: \\/\\w\\/,\n)]|signed[^Pattern.new(\n match: \\/\\w\\/,\n)]|time_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|size_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|key_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|div_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ino_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|gid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|off_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|pid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|float[^Pattern.new(\n match: \\/\\w\\/,\n)]|dev_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_int[^Pattern.new(\n match: \\/\\w\\/,\n)]|short[^Pattern.new(\n match: \\/\\w\\/,\n)]|bool[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint[^Pattern.new(\n match: \\/\\w\\/,\n)]|long[^Pattern.new(\n match: \\/\\w\\/,\n)]|char[^Pattern.new(\n match: \\/\\w\\/,\n)]|void[^Pattern.new(\n match: \\/\\w\\/,\n)]|auto[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int[^Pattern.new(\n match: \\/\\w\\/,\n)])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "2": { - "name": "punctuation.separator.constant.numeric.cpp" - }, - "3": { - "name": "constant.numeric.decimal.point.cpp" - }, - "4": { - "name": "constant.numeric.decimal.cpp", - "patterns": [ + ] + }, + "3": { "name": "variable.language.this.cpp" }, + "4": { "name": "variable.other.object.access.cpp" }, + "5": { "name": "punctuation.separator.dot-access.cpp" }, + "6": { "name": "punctuation.separator.pointer-access.cpp" }, + "7": { + "patterns": [ + { + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", - "name": "punctuation.separator.constant.numeric.cpp" + "match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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" } + } + }, + { "include": "#member_access" }, + { "include": "#method_access" } + ] + }, + "8": { "name": "variable.other.property.cpp" } + } + }, + "memory_operators": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "5": { - "name": "punctuation.separator.constant.numeric.cpp" - }, - "6": { - "name": "keyword.other.unit.exponent.decimal.cpp" - }, - "7": { - "name": "keyword.operator.plus.exponent.decimal.cpp" - }, - "8": { - "name": "keyword.operator.minus.exponent.decimal.cpp" - }, - "9": { - "name": "constant.numeric.exponent.decimal.cpp", - "patterns": [ + ] + }, + "3": { "name": "keyword.operator.wordlike.cpp" }, + "4": { "name": "keyword.operator.delete.array.cpp" }, + "5": { "name": "keyword.operator.delete.array.bracket.cpp" }, + "6": { "name": "keyword.operator.delete.cpp" }, + "7": { "name": "keyword.operator.new.cpp" } + } + }, + "method_access": { + "begin": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, { - "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", - "name": "punctuation.separator.constant.numeric.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "10": { - "name": "keyword.other.unit.suffix.floating-point.cpp" - } - } + ] }, - { - "match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$", - "captures": { - "1": { - "name": "keyword.other.unit.binary.cpp" - }, - "2": { - "name": "constant.numeric.binary.cpp", - "patterns": [ + "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": [ + { + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", - "name": "punctuation.separator.constant.numeric.cpp" + "match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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" } + } + }, + { "include": "#member_access" }, + { "include": "#method_access" } + ] + }, + "10": { "name": "entity.name.function.member.cpp" }, + "11": { "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp" } }, + "patterns": [ { "include": "#evaluation_context" } ] + }, + "misc_keywords": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "3": { - "name": "punctuation.separator.constant.numeric.cpp" - }, - "4": { - "name": "keyword.other.unit.suffix.integer.cpp" - } - } + ] }, + "3": { "name": "keyword.other.$3.cpp" } + } + }, + "ms_attributes": { + "begin": "__declspec\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.section.attribute.begin.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.attribute.end.cpp" } }, + "name": "support.other.attribute.cpp", + "patterns": [ + { "include": "#attributes_context" }, { - "match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$", - "captures": { - "1": { - "name": "keyword.other.unit.octal.cpp" - }, - "2": { - "name": "constant.numeric.octal.cpp", - "patterns": [ - { - "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", - "name": "punctuation.separator.constant.numeric.cpp" - } - ] - }, - "3": { - "name": "punctuation.separator.constant.numeric.cpp" - }, - "4": { - "name": "keyword.other.unit.suffix.integer.cpp" - } - } + "begin": "\\(", + "end": "\\)", + "beginCaptures": { }, + "endCaptures": { }, + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#string_context" } + ] }, { - "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp" - } - }, - "contentName": "meta.arguments.decltype", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "decltype_specifier": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp" - } - }, - "contentName": "meta.arguments.decltype", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "default_statement": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(~(?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.member.destructor.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" + "match": ":", + "name": "punctuation.accessor.attribute.cpp" + }, + { + "match": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<8>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.namespace.cpp" }, + "1": { "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" } }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "9": { - "name": "storage.type.modifier.calling-convention.cpp" - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "12": { - "name": "comment.block.cpp" + "endCaptures": { }, + "name": "meta.block.namespace.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp" } }, + "name": "meta.head.namespace.cpp", + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#attributes_context" }, + { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<4>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.namespace.cpp" } }, + "name": "meta.body.namespace.cpp", + "patterns": [ { "include": "$self" } ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.namespace.cpp", + "patterns": [ { "include": "$self" } ] + } + ] }, - "13": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "noexcept_operator": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" } }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "14": { - "patterns": [ - { - "include": "#functional_specifiers_pre_parameters" - } - ] - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" } }, + "contentName": "meta.arguments.operator.noexcept", + "patterns": [ { "include": "#evaluation_context" } ] }, - "17": { - "name": "comment.block.cpp" - }, - "18": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" + "number_literal": { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", - "captures": { + "operator_overload": { + "begin": "(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\<|\\()", + "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.special.operator-overload.cpp" }, "1": { - "name": "keyword.operator.assignment.cpp" + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] }, "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "4": { - "name": "comment.block.cpp" + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "11": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] }, - "7": { - "name": "keyword.other.delete.constructor.cpp" - } - } - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" - } - }, - "contentName": "meta.function.definition.parameters.special.member.destructor", - "patterns": [ - - ] - }, - { - "match": "((?:(?:final)|(?:override)))+", - "captures": { - "1": { - "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp" - } - } - }, - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.member.destructor.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "destructor_root": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))~\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())", - "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.member.destructor.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "name": "storage.type.modifier.calling-convention.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", - "captures": { - "1": { - "name": "keyword.operator.assignment.cpp" + "20": { "patterns": [ { "include": "#inline_comment" } ] }, + "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "22": { "name": "comment.block.cpp" }, + "23": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "24": { "patterns": [ { "include": "#inline_comment" } ] }, + "25": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "26": { "name": "comment.block.cpp" }, + "27": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "28": { "patterns": [ { "include": "#inline_comment" } ] }, + "29": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "30": { "name": "comment.block.cpp" }, + "31": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "4": { - "name": "comment.block.cpp" + "32": { "patterns": [ { "include": "#inline_comment" } ] }, + "33": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "34": { "name": "comment.block.cpp" }, + "35": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "36": { "name": "storage.type.modifier.calling-convention.cpp" }, + "37": { "patterns": [ { "include": "#inline_comment" } ] }, + "38": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "39": { "name": "comment.block.cpp" }, + "40": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "6": { - "name": "keyword.other.default.constructor.cpp" + "41": { "patterns": [ { "include": "#inline_comment" } ] }, + "42": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "43": { "name": "comment.block.cpp" }, + "44": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "7": { - "name": "keyword.other.delete.constructor.cpp" - } - } - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" - } - }, - "contentName": "meta.function.definition.parameters.special.member.destructor", - "patterns": [ - - ] - }, - { - "match": "((?:(?:final)|(?:override)))+", - "captures": { - "1": { - "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp" - } - } - }, - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.member.destructor.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "diagnostic": { - "begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?", - "end": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.enum.cpp" - }, - "1": { - "name": "storage.type.enum.cpp" - }, - "2": { - "name": "storage.type.enum.enum-key.$2.cpp" - }, - "3": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "4": { - "name": "entity.name.type.enum.cpp" - }, - "5": { - "name": "punctuation.separator.colon.type-specifier.cpp" - }, - "6": { - "patterns": [ - { - "include": "#scope_resolution_inner_generated" - } - ] - }, - "7": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - "8": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "9": { - }, - "10": { - "name": "entity.name.scope-resolution.cpp" - }, - "11": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "12": { - }, - "13": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - "14": { - "name": "storage.type.integral.$14.cpp" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" - }, - "2": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.block.enum.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.enum.cpp" - } - }, - "name": "meta.head.enum.cpp", - "patterns": [ - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.enum.cpp" - } - }, - "name": "meta.body.enum.cpp", - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#enumerator_list" - }, - { - "include": "#comments" - }, - { - "include": "#comma" - }, - { - "include": "#semicolon" - } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.enum.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "enum_declare": { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { - "name": "storage.type.enum.declare.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "45": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "entity.name.operator.type.reference.cpp" + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.enum.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "59": { "patterns": [ { "include": "#inline_comment" } ] }, + "60": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "61": { "name": "comment.block.cpp" }, + "62": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "63": { "patterns": [ { "include": "#inline_comment" } ] }, + "64": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "65": { "name": "comment.block.cpp" }, + "66": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "3": { - "name": "comment.block.cpp" + "67": { "patterns": [ { "include": "#inline_comment" } ] }, + "68": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "69": { "name": "comment.block.cpp" }, + "70": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "71": { "name": "entity.name.operator.type.array.cpp" }, + "72": { "name": "entity.name.operator.custom-literal.cpp" }, + "73": { "patterns": [ { "include": "#inline_comment" } ] }, + "74": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "75": { "name": "comment.block.cpp" }, + "76": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "77": { "name": "entity.name.operator.custom-literal.cpp" }, + "78": { "patterns": [ { "include": "#inline_comment" } ] }, + "79": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "80": { "name": "comment.block.cpp" }, + "81": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { }, + "name": "meta.function.definition.special.operator-overload.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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": "\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp" } }, + "contentName": "meta.function.definition.parameters.special.operator-overload", + "patterns": [ + { "include": "#function_parameter_context" }, + { "include": "#evaluation_context" } + ] + }, + { "include": "#qualifiers_and_specifiers_post_parameters" }, + { "include": "$self" } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.special.operator-overload.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "operators": { + "patterns": [ + { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" } }, + "contentName": "meta.arguments.operator.sizeof", + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" } }, + "contentName": "meta.arguments.operator.alignof", + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" } }, + "contentName": "meta.arguments.operator.alignas", + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" } }, + "contentName": "meta.arguments.operator.typeid", + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" } }, + "contentName": "meta.arguments.operator.noexcept", + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" } }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" } }, + "contentName": "meta.arguments.operator.sizeof.variadic", + "patterns": [ { "include": "#evaluation_context" } ] }, - "2": { - "name": "comment.block.cpp" + { + "match": "--", + "name": "keyword.operator.decrement.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "match": "\\+\\+", + "name": "keyword.operator.increment.cpp" }, - "2": { - "name": "comment.block.cpp" + { + "match": "%=|\\+=|-=|\\*=|(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "match": "&=|\\^=|<<=|>>=|\\|=", + "name": "keyword.operator.assignment.compound.bitwise.cpp" }, - "2": { - "name": "comment.block.cpp" + { + "match": "<<|>>", + "name": "keyword.operator.bitwise.shift.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "name": "variable.other.object.declare.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "match": "!=|<=|>=|==|<|>", + "name": "keyword.operator.comparison.cpp" }, - "2": { - "name": "comment.block.cpp" + { + "match": "&&|!|\\|\\|", + "name": "keyword.operator.logical.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "enumerator_list": { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "keyword.control.exception.$3.cpp" - } - } - }, - "extern_block": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(extern)(?=\\s*\\\")", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.extern.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "name": "storage.type.extern.cpp" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" - }, - "2": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.block.extern.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.extern.cpp" - } - }, - "name": "meta.head.extern.cpp", - "patterns": [ - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.extern.cpp" - } - }, - "name": "meta.body.extern.cpp", - "patterns": [ - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.extern.cpp", - "patterns": [ - { - "include": "$self" - } - ] - }, - { - "include": "$self" - } - ] - }, - "function_body_context": { - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#using_namespace" - }, - { - "include": "#type_alias" - }, - { - "include": "#using_name" - }, - { - "include": "#namespace_alias" - }, - { - "include": "#typedef_class" - }, - { - "include": "#typedef_struct" - }, - { - "include": "#typedef_union" - }, - { - "include": "#misc_keywords" - }, - { - "include": "#standard_declares" - }, - { - "include": "#class_block" - }, - { - "include": "#struct_block" - }, - { - "include": "#union_block" - }, - { - "include": "#enum_block" - }, - { - "include": "#access_control_keywords" - }, - { - "include": "#block" - }, - { - "include": "#static_assert" - }, - { - "include": "#assembly" - }, - { - "include": "#function_pointer" - }, - { - "include": "#switch_statement" - }, - { - "include": "#goto_statement" - }, - { - "include": "#evaluation_context" - }, - { - "include": "#label" - } - ] - }, - "function_call": { - "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_function_call_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.function.call.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "11": { - }, - "12": { - "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" - } - }, - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "function_definition": { - "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\()", - "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "name": "storage.type.template.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { - "name": "storage.modifier.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "name": "storage.modifier.$12.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "15": { - "name": "comment.block.cpp" - }, - "16": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "17": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "18": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "21": { - "name": "comment.block.cpp" - }, - "22": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "23": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "24": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "25": { - "name": "comment.block.cpp" - }, - "26": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "27": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "36": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "37": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "38": { - "name": "comment.block.cpp" - }, - "39": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "40": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "41": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "42": { - "name": "comment.block.cpp" - }, - "43": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "44": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "45": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "46": { - "name": "comment.block.cpp" - }, - "47": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "48": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "49": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "50": { - "name": "comment.block.cpp" - }, - "51": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "52": { - "name": "storage.type.modifier.calling-convention.cpp" - }, - "53": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "54": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "55": { - "name": "comment.block.cpp" - }, - "56": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "57": { - "patterns": [ - { - "include": "#scope_resolution_function_definition_inner_generated" - } - ] - }, - "58": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" - }, - "59": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "60": { - }, - "61": { - "name": "entity.name.function.definition.cpp" - }, - "62": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "63": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "64": { - "name": "comment.block.cpp" - }, - "65": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "endCaptures": { - }, - "name": "meta.function.definition.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp" - } - }, - "name": "meta.head.function.definition.cpp", - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parameters.begin.bracket.round.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parameters.end.bracket.round.cpp" - } - }, - "contentName": "meta.function.definition.parameters", - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#parameter_or_maybe_value" - }, - { - "include": "#comma" - }, - { - "include": "#evaluation_context" - } - ] - }, - { - "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)?(?![\\w<:.]))", - "captures": { - "1": { - "name": "punctuation.definition.function.return-type.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "10": { - "name": "comment.block.cpp" - }, - "11": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "14": { - "name": "comment.block.cpp" - }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "16": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "function_parameter_context": { - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#string_context" - }, - { - "include": "#parameter" - }, - { - "include": "#comma" - } - ] - }, - "function_pointer": { - "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "20": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "21": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "22": { - "name": "comment.block.cpp" - }, - "23": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "24": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "25": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "26": { - "name": "comment.block.cpp" - }, - "27": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "28": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "29": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "30": { - "name": "comment.block.cpp" - }, - "31": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "patterns": [ - { - "include": "#function_parameter_context" - } - ] - }, - "function_pointer_parameter": { - "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "20": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "21": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "22": { - "name": "comment.block.cpp" - }, - "23": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "24": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "25": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "26": { - "name": "comment.block.cpp" - }, - "27": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "28": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "29": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "30": { - "name": "comment.block.cpp" - }, - "31": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "patterns": [ - { - "include": "#function_parameter_context" - } - ] - }, - "functional_specifiers_pre_parameters": { - "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)", - "captures": { - "1": { - "name": "keyword.control.goto.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.label.call.cpp" - } - } - }, - "identifier": { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*" - }, - "include": { - "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((#)(?:(?:\\s)+)?((?:include|include_next))\\b)(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "keyword.control.directive.$5.cpp" - }, - "4": { - "name": "punctuation.definition.directive.cpp" - }, - "6": { - "name": "string.quoted.other.lt-gt.include.cpp" - }, - "7": { - "name": "punctuation.definition.string.begin.cpp" - }, - "8": { - "name": "punctuation.definition.string.end.cpp" - }, - "9": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "10": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "11": { - "name": "string.quoted.double.include.cpp" - }, - "12": { - "name": "punctuation.definition.string.begin.cpp" - }, - "13": { - "name": "punctuation.definition.string.end.cpp" - }, - "14": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "15": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "16": { - "name": "entity.name.other.preprocessor.macro.include.cpp" - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "21": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "22": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - }, - "name": "meta.preprocessor.include.cpp" - }, - "inheritance_context": { - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "match": ",", - "name": "punctuation.separator.delimiter.comma.inheritance.cpp" - }, - { - "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))", - "captures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - } - } - } - ] - }, - "inline_builtin_storage_type": { - "match": "(?:\\s)*+(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:)", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "entity.name.label.cpp" - }, - "4": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "5": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "6": { - "name": "punctuation.separator.label.cpp" - } - } - }, - "lambdas": { - "begin": "(?:(?<=[^\\s]|^)(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))[\\[\\];]))", - "end": "(?<=[;}])", - "beginCaptures": { - "1": { - "name": "punctuation.definition.capture.begin.lambda.cpp" - }, - "2": { - "name": "meta.lambda.capture.cpp", - "patterns": [ - { - "include": "#the_this_keyword" - }, - { - "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", - "captures": { - "1": { - "name": "variable.parameter.capture.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.separator.delimiter.comma.cpp" - }, - "7": { - "name": "keyword.operator.assignment.cpp" - } - } - }, - { - "include": "#evaluation_context" - } - ] - }, - "3": { - }, - "4": { - "name": "punctuation.definition.capture.end.lambda.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "7": { - "name": "comment.block.cpp" - }, - "8": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "endCaptures": { - }, - "patterns": [ - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.definition.parameters.begin.lambda.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.parameters.end.lambda.cpp" - } - }, - "name": "meta.function.definition.parameters.lambda.cpp", - "patterns": [ - { - "include": "#function_parameter_context" - } - ] - }, - { - "match": "(?)((?:.+?(?=\\{|$))?)", - "captures": { - "1": { - "name": "punctuation.definition.lambda.return-type.cpp" - }, - "2": { - "name": "storage.type.return-type.lambda.cpp" - } - } - }, - { - "begin": "\\{", - "end": "\\}", - "beginCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.lambda.cpp" - } - }, - "name": "meta.function.definition.body.lambda.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "language_constants": { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b", - "end": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?define\\b)(?:(?:\\s)+)?((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|suseconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|useconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_addr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_port_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|blksize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|unsigned[^Pattern.new(\n match: \\/\\w\\/,\n)]|blkcnt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|swblk_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|wchar_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_short[^Pattern.new(\n match: \\/\\w\\/,\n)]|qaddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|caddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|daddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|fixpt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|nlink_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|segsz_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|clock_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ssize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|mode_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_long[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_char[^Pattern.new(\n match: \\/\\w\\/,\n)]|double[^Pattern.new(\n match: \\/\\w\\/,\n)]|signed[^Pattern.new(\n match: \\/\\w\\/,\n)]|time_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|size_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|key_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|div_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ino_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|gid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|off_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|pid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|float[^Pattern.new(\n match: \\/\\w\\/,\n)]|dev_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_int[^Pattern.new(\n match: \\/\\w\\/,\n)]|short[^Pattern.new(\n match: \\/\\w\\/,\n)]|bool[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint[^Pattern.new(\n match: \\/\\w\\/,\n)]|long[^Pattern.new(\n match: \\/\\w\\/,\n)]|char[^Pattern.new(\n match: \\/\\w\\/,\n)]|void[^Pattern.new(\n match: \\/\\w\\/,\n)]|auto[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int[^Pattern.new(\n match: \\/\\w\\/,\n)])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "variable.language.this.cpp" - }, - "4": { - "name": "variable.other.object.access.cpp" - }, - "5": { - "name": "punctuation.separator.dot-access.cpp" - }, - "6": { - "name": "punctuation.separator.pointer-access.cpp" - }, - "7": { - "patterns": [ - { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" - } - } - }, - { - "include": "#member_access" - }, - { - "include": "#method_access" - } - ] - }, - "8": { - "name": "variable.other.property.cpp" - } - } - }, - "memory_operators": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "keyword.operator.wordlike.cpp" - }, - "4": { - "name": "keyword.operator.delete.array.cpp" - }, - "5": { - "name": "keyword.operator.delete.array.bracket.cpp" - }, - "6": { - "name": "keyword.operator.delete.cpp" - }, - "7": { - "name": "keyword.operator.new.cpp" - } - } - }, - "method_access": { - "begin": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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": [ - { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" - } - } - }, - { - "include": "#member_access" - }, - { - "include": "#method_access" - } - ] - }, - "10": { - "name": "entity.name.function.member.cpp" - }, - "11": { - "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp" - } - }, - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "misc_keywords": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "keyword.other.$3.cpp" - } - } - }, - "ms_attributes": { - "begin": "__declspec\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.attribute.begin.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.attribute.end.cpp" - } - }, - "name": "support.other.attribute.cpp", - "patterns": [ - { - "include": "#attributes_context" - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - }, - "endCaptures": { - }, - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#string_context" - } - ] - }, - { - "match": "(using)(?:\\s)+((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<8>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.namespace.cpp" - }, - "1": { - "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" - } - }, - "endCaptures": { - }, - "name": "meta.block.namespace.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp" - } - }, - "name": "meta.head.namespace.cpp", - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#attributes_context" - }, - { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<4>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.namespace.cpp" - } - }, - "name": "meta.body.namespace.cpp", - "patterns": [ - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.namespace.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "noexcept_operator": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" - } - }, - "contentName": "meta.arguments.operator.noexcept", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "number_literal": { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\<|\\()", - "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.operator-overload.cpp" - }, - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "20": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "21": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "22": { - "name": "comment.block.cpp" - }, - "23": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "24": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "25": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "26": { - "name": "comment.block.cpp" - }, - "27": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "28": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "29": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "30": { - "name": "comment.block.cpp" - }, - "31": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "32": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "33": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "34": { - "name": "comment.block.cpp" - }, - "35": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "36": { - "name": "storage.type.modifier.calling-convention.cpp" - }, - "37": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "38": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "39": { - "name": "comment.block.cpp" - }, - "40": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "41": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "42": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "43": { - "name": "comment.block.cpp" - }, - "44": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "45": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "entity.name.operator.type.reference.cpp" - } - ] - }, - "59": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "60": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "61": { - "name": "comment.block.cpp" - }, - "62": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "63": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "64": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "65": { - "name": "comment.block.cpp" - }, - "66": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "67": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "68": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "69": { - "name": "comment.block.cpp" - }, - "70": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "71": { - "name": "entity.name.operator.type.array.cpp" - }, - "72": { - "name": "entity.name.operator.custom-literal.cpp" - }, - "73": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "74": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "75": { - "name": "comment.block.cpp" - }, - "76": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "77": { - "name": "entity.name.operator.custom-literal.cpp" - }, - "78": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "79": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "80": { - "name": "comment.block.cpp" - }, - "81": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "endCaptures": { - }, - "name": "meta.function.definition.special.operator-overload.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "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": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp" - } - }, - "contentName": "meta.function.definition.parameters.special.operator-overload", - "patterns": [ - { - "include": "#function_parameter_context" - }, - { - "include": "#evaluation_context" - } - ] - }, - { - "include": "#qualifiers_and_specifiers_post_parameters" - }, - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.operator-overload.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "operators": { - "patterns": [ - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" - } - }, - "contentName": "meta.arguments.operator.sizeof", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" - } - }, - "contentName": "meta.arguments.operator.alignof", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" - } - }, - "contentName": "meta.arguments.operator.alignas", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" - } - }, - "contentName": "meta.arguments.operator.typeid", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" - } - }, - "contentName": "meta.arguments.operator.noexcept", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - { - "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" - } - }, - "contentName": "meta.arguments.operator.sizeof.variadic", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - { - "match": "--", - "name": "keyword.operator.decrement.cpp" - }, - { - "match": "\\+\\+", - "name": "keyword.operator.increment.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.cpp" - }, - { - "include": "#assignment_operator" - }, - { - "match": "%|\\*|\\/|-|\\+", - "name": "keyword.operator.cpp" - }, - { - "include": "#ternary_operator" - } - ] - }, - "over_qualified_types": { - "patterns": [ - { - "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { - "name": "storage.type.struct.parameter.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.struct.parameter.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { - "name": "variable.other.object.declare.cpp" - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - { - "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { - "name": "storage.type.enum.parameter.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.enum.parameter.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { - "name": "variable.other.object.declare.cpp" - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - { - "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { - "name": "storage.type.union.parameter.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.union.parameter.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { - "name": "variable.other.object.declare.cpp" - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - { - "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { - "name": "storage.type.class.parameter.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.class.parameter.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { - "name": "variable.other.object.declare.cpp" - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - } - ] - }, - "parameter": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)", - "end": "(?:(?=\\))|(,))", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "endCaptures": { - "1": { - "name": "punctuation.separator.delimiter.comma.cpp" - } - }, - "name": "meta.parameter.cpp", - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#function_pointer_parameter" - }, - { - "include": "#decltype" - }, - { - "include": "#vararg_ellipses" - }, - { - "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)", - "captures": { - "1": { - "patterns": [ - { - "include": "#storage_types" - } - ] - }, - "2": { - "name": "storage.modifier.specifier.parameter.cpp" - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" - }, - "12": { - "name": "storage.type.cpp storage.type.built-in.cpp" - }, - "13": { - "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" - }, - "14": { - "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" - }, - "15": { - "name": "entity.name.type.parameter.cpp" - }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "17": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "18": { - "name": "comment.block.cpp" - }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "include": "#storage_types" - }, - { - "include": "#scope_resolution_parameter_inner_generated" - }, - { - "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", - "name": "storage.type.$0.cpp" - }, - { - "begin": "(?<==)", - "end": "(?:(?=\\))|(,))", - "beginCaptures": { - }, - "endCaptures": { - "1": { - "name": "punctuation.separator.delimiter.comma.cpp" - } - }, - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - { - "match": "\\=", - "name": "keyword.operator.assignment.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\)|,|\\[|=|\\n)", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "name": "variable.parameter.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "include": "#attributes_context" - }, - { - "begin": "\\[", - "end": "\\]", - "beginCaptures": { - "0": { - "name": "punctuation.definition.begin.bracket.square.array.type.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.end.bracket.square.array.type.cpp" - } - }, - "name": "meta.bracket.square.array.cpp", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))", - "captures": { - "0": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "7": { - "name": "comment.block.cpp" - }, - "8": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "parameter_class": { - "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { - "name": "storage.type.class.parameter.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.class.parameter.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { - "name": "variable.other.object.declare.cpp" - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "parameter_enum": { - "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { - "name": "storage.type.enum.parameter.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.enum.parameter.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { - "name": "variable.other.object.declare.cpp" - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "parameter_or_maybe_value": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)", - "end": "(?:(?=\\))|(,))", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "endCaptures": { - "1": { - "name": "punctuation.separator.delimiter.comma.cpp" - } - }, - "name": "meta.parameter.cpp", - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#function_pointer_parameter" - }, - { - "include": "#memory_operators" - }, - { - "include": "#builtin_storage_type_initilizer" - }, - { - "include": "#curly_initializer" - }, - { - "include": "#decltype" - }, - { - "include": "#vararg_ellipses" - }, - { - "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)", - "captures": { - "1": { - "patterns": [ - { - "include": "#storage_types" - } - ] - }, - "2": { - "name": "storage.modifier.specifier.parameter.cpp" - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" - }, - "12": { - "name": "storage.type.cpp storage.type.built-in.cpp" - }, - "13": { - "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" - }, - "14": { - "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" - }, - "15": { - "name": "entity.name.type.parameter.cpp" - }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "17": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "18": { - "name": "comment.block.cpp" - }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "include": "#storage_types" - }, - { - "include": "#function_call" - }, - { - "include": "#scope_resolution_parameter_inner_generated" - }, - { - "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", - "name": "storage.type.$0.cpp" - }, - { - "begin": "(?<==)", - "end": "(?:(?=\\))|(,))", - "beginCaptures": { - }, - "endCaptures": { - "1": { - "name": "punctuation.separator.delimiter.comma.cpp" - } - }, - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=(?:\\)|,|\\[|=|\\/\\/|(?:(?:\\n)|$)))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "name": "variable.parameter.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "include": "#attributes_context" - }, - { - "begin": "\\[", - "end": "\\]", - "beginCaptures": { - "0": { - "name": "punctuation.definition.begin.bracket.square.array.type.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.end.bracket.square.array.type.cpp" - } - }, - "name": "meta.bracket.square.array.cpp", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))", - "captures": { - "0": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "7": { - "name": "comment.block.cpp" - }, - "8": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "include": "#evaluation_context" - } - ] - }, - "parameter_struct": { - "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { - "name": "storage.type.struct.parameter.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.struct.parameter.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { - "name": "variable.other.object.declare.cpp" - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "parameter_union": { - "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { - "name": "storage.type.union.parameter.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.union.parameter.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { - "name": "variable.other.object.declare.cpp" - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "parentheses": { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parens.begin.bracket.round.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parens.end.bracket.round.cpp" - } - }, - "name": "meta.parens.cpp", - "patterns": [ - { - "include": "#over_qualified_types" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma\\b", - "end": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma(?:\\s)+mark)(?:\\s)+(.*)", - "captures": { - "1": { - "name": "keyword.control.directive.pragma.pragma-mark.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "punctuation.definition.directive.cpp" - }, - "5": { - "name": "entity.name.tag.pragma-mark.cpp" - } - }, - "name": "meta.preprocessor.pragma.cpp" - }, - "predefined_macros": { - "patterns": [ - { - "match": "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b", - "captures": { - "1": { - "name": "entity.name.other.preprocessor.macro.predefined.$1.cpp" - } - } - }, - { - "match": "\\b__([A-Z_]+)__\\b", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp" - } - ] - }, - "preprocessor_conditional_context": { - "patterns": [ - { - "include": "#preprocessor_conditional_defined" - }, - { - "include": "#comments" - }, - { - "include": "#language_constants" - }, - { - "include": "#string_context" - }, - { - "include": "#d9bc4796b0b_preprocessor_number_literal" - }, - { - "include": "#operators" - }, - { - "include": "#predefined_macros" - }, - { - "include": "#macro_name" - }, - { - "include": "#line_continuation_character" - } - ] - }, - "preprocessor_conditional_defined": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:(?:ifndef|ifdef)|if))", - "end": "^(?!\\s*+#\\s*(?:else|endif))", - "beginCaptures": { - "0": { - "name": "keyword.control.directive.conditional.$6.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "name": "punctuation.definition.directive.cpp" - }, - "6": { - } - }, - "endCaptures": { - }, - "patterns": [ - { - "begin": "\\G(?<=ifndef|ifdef|if)", - "end": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "punctuation.definition.directive.cpp" - } - }, - "name": "keyword.control.directive.$4.cpp" - }, - "preprocessor_context": { - "patterns": [ - { - "include": "#pragma_mark" - }, - { - "include": "#pragma" - }, - { - "include": "#include" - }, - { - "include": "#line" - }, - { - "include": "#diagnostic" - }, - { - "include": "#undef" - }, - { - "include": "#preprocessor_conditional_range" - }, - { - "include": "#single_line_macro" - }, - { - "include": "#macro" - }, - { - "include": "#preprocessor_conditional_standalone" - }, - { - "include": "#macro_argument" - } - ] - }, - "qualified_type": { - "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)?(?![\\w<:.])", - "captures": { - "0": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "1": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "5": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "6": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - }, - "name": "meta.qualified_type.cpp" - }, - "qualifiers_and_specifiers_post_parameters": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "storage.modifier.specifier.functional.post-parameters.$3.cpp" - }, - "4": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "5": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "scope_resolution": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_function_call": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_function_call_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_function_call_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_function_call_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.function.call.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - } - } - }, - "scope_resolution_function_definition": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_function_definition_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_function_definition_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_function_definition_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.function.definition.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" - } - } - }, - "scope_resolution_function_definition_operator_overload": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_function_definition_operator_overload_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_function_definition_operator_overload_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_function_definition_operator_overload_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" - } - } - }, - "scope_resolution_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - } - } - }, - "scope_resolution_namespace_alias": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_namespace_alias_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_namespace_alias_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_namespace_alias_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.namespace.alias.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" - } - } - }, - "scope_resolution_namespace_block": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_namespace_block_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_namespace_block_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_namespace_block_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.namespace.block.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" - } - } - }, - "scope_resolution_namespace_using": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_namespace_using_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_namespace_using_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_namespace_using_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.namespace.using.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" - } - } - }, - "scope_resolution_parameter": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_parameter_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_parameter_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_parameter_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.parameter.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" - } - } - }, - "scope_resolution_template_call": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_template_call_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_template_call_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_template_call_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.template.call.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" - } - } - }, - "scope_resolution_template_definition": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_template_definition_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_template_definition_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_template_definition_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.template.definition.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" - } - } - }, - "semicolon": { - "match": ";", - "name": "punctuation.terminator.statement.cpp" - }, - "simple_type": { - "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", - "captures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - }, - "13": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "14": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "15": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "17": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "single_line_macro": { - "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))#define.*(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "sizeof_operator": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" - } - }, - "contentName": "meta.arguments.operator.sizeof", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "sizeof_variadic_operator": { - "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" - } - }, - "contentName": "meta.arguments.operator.sizeof.variadic", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "square_brackets": { - "name": "meta.bracket.square.access", - "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])", - "beginCaptures": { - "1": { - "name": "variable.other.object" - }, - "2": { - "name": "punctuation.definition.begin.bracket.square" - } - }, - "end": "\\]", - "endCaptures": { - "0": { - "name": "punctuation.definition.end.bracket.square" - } - }, - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "standard_declares": { - "patterns": [ - { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { - "name": "storage.type.struct.declare.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.struct.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "name": "variable.other.object.declare.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { - "name": "storage.type.union.declare.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.union.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "name": "variable.other.object.declare.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { - "name": "storage.type.enum.declare.cpp" - }, - "2": { - "patterns": [ + "over_qualified_types": { + "patterns": [ { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { "name": "storage.type.struct.parameter.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.enum.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "4": { "name": "entity.name.type.struct.parameter.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "name": "variable.other.object.declare.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { - "name": "storage.type.class.declare.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "14": { "name": "variable.other.object.declare.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.class.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "17": { "patterns": [ { "include": "#inline_comment" } ] }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - ] } - }, - "name": "invalid.illegal.reference-type.cpp" }, { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { "name": "storage.type.enum.parameter.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "4": { "name": "entity.name.type.enum.parameter.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { "name": "variable.other.object.declare.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { "patterns": [ { "include": "#inline_comment" } ] }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - ] } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ + }, { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { "name": "storage.type.union.parameter.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" + "4": { "name": "entity.name.type.union.parameter.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { "name": "variable.other.object.declare.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { "patterns": [ { "include": "#inline_comment" } ] }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - ] } - } - } - ] - }, - "12": { - "name": "variable.other.object.declare.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "patterns": [ + }, { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { "name": "storage.type.class.parameter.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" + "4": { "name": "entity.name.type.class.parameter.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { "name": "variable.other.object.declare.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { "patterns": [ { "include": "#inline_comment" } ] }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - ] - } - } - } - ] - } - } - } - ] - }, - "static_assert": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "name": "keyword.other.static_assert.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { - "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp" - } - }, - "patterns": [ - { - "begin": "(,)(?:(?:\\s)+)?(?=(?:L|u8|u|U(?:(?:\\s)+)?\\\")?)", - "end": "(?=\\))", - "beginCaptures": { - "1": { - "name": "punctuation.separator.delimiter.comma.cpp" - } - }, - "endCaptures": { - }, - "name": "meta.static_assert.message.cpp", - "patterns": [ - { - "include": "#string_context" - } - ] - }, - { - "include": "#evaluation_context" - } - ] - }, - "std_space": { - "match": "(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))", - "captures": { - "0": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "1": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "storage_specifiers": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" } - ] - } - } - } - ] - }, - "3": { - "name": "storage.modifier.specifier.$3.cpp" - } - } - }, - "storage_types": { - "patterns": [ - { - "include": "#storage_specifiers" - }, - { - "include": "#inline_builtin_storage_type" - }, - { - "include": "#decltype" - }, - { - "include": "#typename" - } - ] - }, - "string_context": { - "patterns": [ - { - "begin": "((?:u|u8|U|L)?)\"", - "end": "\"", - "beginCaptures": { - "0": { - "name": "punctuation.definition.string.begin.cpp" - }, - "1": { - "name": "meta.encoding.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.string.end.cpp" - } - }, - "name": "string.quoted.double.cpp", - "patterns": [ - { - "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})", - "name": "constant.character.escape.cpp" - }, - { - "match": "\\\\['\"?\\\\abfnrtv]", - "name": "constant.character.escape.cpp" - }, - { - "match": "\\\\[0-7]{1,3}", - "name": "constant.character.escape.cpp" - }, - { - "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))", - "captures": { - "1": { - "name": "constant.character.escape.cpp" - }, - "2": { - "name": "invalid.illegal.unknown-escape.cpp" - } - } - }, - { - "include": "#string_escapes_context_c" - } - ] - }, - { - "begin": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.struct.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { - "name": "storage.type.modifier.final.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" + } + ] + }, + "parameter": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)", + "end": "(?:(?=\\))|(,))", + "beginCaptures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, + "name": "meta.parameter.cpp", + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#function_pointer_parameter" }, + { "include": "#decltype" }, + { "include": "#vararg_ellipses" }, + { + "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)", + "captures": { + "1": { "patterns": [ { "include": "#storage_types" } ] }, + "2": { "name": "storage.modifier.specifier.parameter.cpp" }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, + "12": { "name": "storage.type.cpp storage.type.built-in.cpp" }, + "13": { "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, + "14": { "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" }, + "15": { "name": "entity.name.type.parameter.cpp" }, + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "18": { "name": "comment.block.cpp" }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } } - ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { "include": "#storage_types" }, + { "include": "#scope_resolution_parameter_inner_generated" }, + { + "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", + "name": "storage.type.$0.cpp" }, - "4": { - "name": "comment.block.cpp" + { + "begin": "(?<==)", + "end": "(?:(?=\\))|(,))", + "beginCaptures": { }, + "endCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, + "patterns": [ { "include": "#evaluation_context" } ] }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { - "name": "entity.name.type.struct.cpp" + { + "match": "\\=", + "name": "keyword.operator.assignment.cpp" }, - "2": { - "patterns": [ - { - "include": "#inline_comment" + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\)|,|\\[|=|\\n)", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { "name": "variable.parameter.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } } - ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { "include": "#attributes_context" }, + { + "begin": "\\[", + "end": "\\]", + "beginCaptures": { "0": { "name": "punctuation.definition.begin.bracket.square.array.type.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.definition.end.bracket.square.array.type.cpp" } }, + "name": "meta.bracket.square.array.cpp", + "patterns": [ { "include": "#evaluation_context" } ] }, - "4": { - "name": "comment.block.cpp" + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))", + "captures": { + "0": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "7": { "name": "comment.block.cpp" }, + "8": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "parameter_class": { + "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { "name": "storage.type.class.parameter.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, + "4": { "name": "entity.name.type.class.parameter.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, "6": { - "name": "storage.type.modifier.final.cpp" + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { "name": "variable.other.object.declare.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { "patterns": [ { "include": "#inline_comment" } ] }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "parameter_enum": { + "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { "name": "storage.type.enum.parameter.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { "name": "entity.name.type.enum.parameter.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, "9": { - "name": "comment.block.cpp" + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "14": { - "name": "comment.block.cpp" - }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "17": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "18": { - "name": "comment.block.cpp" - }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "20": { - "name": "punctuation.separator.colon.inheritance.cpp" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" - }, - "2": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.block.struct.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "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": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.struct.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "struct_declare": { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { - "name": "storage.type.struct.declare.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "14": { "name": "variable.other.object.declare.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { "patterns": [ { "include": "#inline_comment" } ] }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - } } - ] }, - "4": { - "name": "entity.name.type.struct.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" + "parameter_or_maybe_value": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)", + "end": "(?:(?=\\))|(,))", + "beginCaptures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, + "name": "meta.parameter.cpp", + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#function_pointer_parameter" }, + { "include": "#memory_operators" }, + { "include": "#builtin_storage_type_initilizer" }, + { "include": "#curly_initializer" }, + { "include": "#decltype" }, + { "include": "#vararg_ellipses" }, + { + "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)", + "captures": { + "1": { "patterns": [ { "include": "#storage_types" } ] }, + "2": { "name": "storage.modifier.specifier.parameter.cpp" }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, + "12": { "name": "storage.type.cpp storage.type.built-in.cpp" }, + "13": { "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, + "14": { "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" }, + "15": { "name": "entity.name.type.parameter.cpp" }, + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "18": { "name": "comment.block.cpp" }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { "include": "#storage_types" }, + { "include": "#function_call" }, + { "include": "#scope_resolution_parameter_inner_generated" }, + { + "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", + "name": "storage.type.$0.cpp" + }, + { + "begin": "(?<==)", + "end": "(?:(?=\\))|(,))", + "beginCaptures": { }, + "endCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=(?:\\)|,|\\[|=|\\/\\/|(?:(?:\\n)|$)))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { "name": "variable.parameter.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } } - ] }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { "include": "#attributes_context" }, + { + "begin": "\\[", + "end": "\\]", + "beginCaptures": { "0": { "name": "punctuation.definition.begin.bracket.square.array.type.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.definition.end.bracket.square.array.type.cpp" } }, + "name": "meta.bracket.square.array.cpp", + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))", + "captures": { + "0": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "7": { "name": "comment.block.cpp" }, + "8": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { "include": "#evaluation_context" } + ] + }, + "parameter_struct": { + "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { "name": "storage.type.struct.parameter.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { "name": "entity.name.type.struct.parameter.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "name": "comment.block.cpp" + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "14": { "name": "variable.other.object.declare.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "17": { "patterns": [ { "include": "#inline_comment" } ] }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "parameter_union": { + "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { "name": "storage.type.union.parameter.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "name": "variable.other.object.declare.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "4": { "name": "entity.name.type.union.parameter.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "switch_conditional_parentheses": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp" - } - }, - "name": "meta.conditional.switch.cpp", - "patterns": [ - { - "include": "#evaluation_context" - }, - { - "include": "#c_conditional_context" - } - ] - }, - "switch_statement": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.switch.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { - "name": "keyword.control.switch.cpp" - } - }, - "endCaptures": { - }, - "name": "meta.block.switch.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.switch.cpp" - } - }, - "name": "meta.head.switch.cpp", - "patterns": [ - { - "include": "#switch_conditional_parentheses" - }, - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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" - }, - { - "include": "#block_innards" - } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.switch.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "template_argument_defaulted": { - "match": "(?<=<|,)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)*)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?([=])", - "captures": { - "1": { - "name": "storage.type.template.cpp" - }, - "2": { - "name": "entity.name.type.template.cpp" - }, - "3": { - "name": "keyword.operator.assignment.cpp" - } - } - }, - "template_call_context": { - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#template_call_range" - }, - { - "include": "#storage_types" - }, - { - "include": "#language_constants" - }, - { - "include": "#scope_resolution_template_call_inner_generated" - }, - { - "include": "#operators" - }, - { - "include": "#number_literal" - }, - { - "include": "#string_context" - }, - { - "include": "#comma_in_template_argument" - }, - { - "include": "#qualified_type" - } - ] - }, - "template_call_innards": { - "match": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<1>?)+>)(?:\\s)*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - }, - "name": "meta.template.call.cpp" - }, - "template_call_range": { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - "template_definition": { - "begin": "(?", - "beginCaptures": { - "1": { - "name": "storage.type.template.cpp" - }, - "2": { - "name": "punctuation.section.angle-brackets.start.template.definition.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.definition.cpp" - } - }, - "name": "meta.template.definition.cpp", - "patterns": [ - { - "begin": "(?<=\\w)(?:(?:\\s)+)?<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "include": "#template_definition_context" - } - ] - }, - "template_definition_argument": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))(?:(?:\\s)+)?(?:(,)|(?=>|$))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "storage.type.template.argument.$3.cpp" - }, - "4": { - "patterns": [ - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "storage.type.template.argument.$0.cpp" - } - ] - }, - "5": { - "name": "entity.name.type.template.cpp" - }, - "6": { - "name": "storage.type.template.cpp" - }, - "7": { - "name": "punctuation.vararg-ellipses.template.definition.cpp" - }, - "8": { - "name": "entity.name.type.template.cpp" - }, - "9": { - "name": "punctuation.separator.delimiter.comma.template.argument.cpp" - } - } - }, - "template_definition_context": { - "patterns": [ - { - "include": "#scope_resolution_template_definition_inner_generated" - }, - { - "include": "#template_definition_argument" - }, - { - "include": "#template_argument_defaulted" - }, - { - "include": "#template_call_innards" - }, - { - "include": "#evaluation_context" - } - ] - }, - "template_isolated_definition": { - "match": "(?(?:(?:\\s)+)?$)", - "captures": { - "1": { - "name": "storage.type.template.cpp" - }, - "2": { - "name": "punctuation.section.angle-brackets.start.template.definition.cpp" - }, - "3": { - "name": "meta.template.definition.cpp", - "patterns": [ - { - "include": "#template_definition_context" - } - ] - }, - "4": { - "name": "punctuation.section.angle-brackets.end.template.definition.cpp" - } - } - }, - "ternary_operator": { - "begin": "\\?", - "end": ":", - "beginCaptures": { - "0": { - "name": "keyword.operator.ternary.cpp" - } - }, - "endCaptures": { - "0": { - "name": "keyword.operator.ternary.cpp" - } - }, - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#string_context" - }, - { - "include": "#number_literal" - }, - { - "include": "#method_access" - }, - { - "include": "#member_access" - }, - { - "include": "#predefined_macros" - }, - { - "include": "#operators" - }, - { - "include": "#memory_operators" - }, - { - "include": "#wordlike_operators" - }, - { - "include": "#type_casting_operators" - }, - { - "include": "#control_flow_keywords" - }, - { - "include": "#exception_keywords" - }, - { - "include": "#the_this_keyword" - }, - { - "include": "#language_constants" - }, - { - "include": "#builtin_storage_type_initilizer" - }, - { - "include": "#qualifiers_and_specifiers_post_parameters" - }, - { - "include": "#functional_specifiers_pre_parameters" - }, - { - "include": "#storage_types" - }, - { - "include": "#lambdas" - }, - { - "include": "#attributes_context" - }, - { - "include": "#parentheses" - }, - { - "include": "#function_call" - }, - { - "include": "#scope_resolution_inner_generated" - }, - { - "include": "#square_brackets" - }, - { - "include": "#semicolon" - }, - { - "include": "#comma" - } - ], - "applyEndPatternLast": 1 - }, - "the_this_keyword": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "14": { "name": "variable.other.object.declare.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "17": { "patterns": [ { "include": "#inline_comment" } ] }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - } } - ] - }, - "3": { - "name": "variable.language.this.cpp" - } - } - }, - "type_alias": { - "match": "(using)(?:(?:\\s)+)?(?!namespace)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))|(.*(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)?(?:(?:\\s)+)?(?:(;)|\\n)", - "captures": { - "1": { - "name": "keyword.other.using.directive.cpp" }, - "2": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ + "parentheses": { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.section.parens.begin.bracket.round.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.parens.end.bracket.round.cpp" } }, + "name": "meta.parens.cpp", + "patterns": [ + { "include": "#over_qualified_types" }, { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "4": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "pragma": { + "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma\\b", + "end": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma(?:\\s)+mark)(?:\\s)+(.*)", + "captures": { + "1": { "name": "keyword.control.directive.pragma.pragma-mark.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { "name": "punctuation.definition.directive.cpp" }, + "5": { "name": "entity.name.tag.pragma-mark.cpp" } + }, + "name": "meta.preprocessor.pragma.cpp" + }, + "predefined_macros": { + "patterns": [ + { + "match": "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b", + "captures": { "1": { "name": "entity.name.other.preprocessor.macro.predefined.$1.cpp" } } + }, + { + "match": "\\b__([A-Z_]+)__\\b", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp" + } + ] + }, + "preprocessor_conditional_context": { + "patterns": [ + { "include": "#preprocessor_conditional_defined" }, + { "include": "#comments" }, + { "include": "#language_constants" }, + { "include": "#string_context" }, + { "include": "#d9bc4796b0b_preprocessor_number_literal" }, + { "include": "#operators" }, + { "include": "#predefined_macros" }, + { "include": "#macro_name" }, + { "include": "#line_continuation_character" } + ] + }, + "preprocessor_conditional_defined": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:(?:ifndef|ifdef)|if))", + "end": "^(?!\\s*+#\\s*(?:else|endif))", + "beginCaptures": { + "0": { "name": "keyword.control.directive.conditional.$6.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { "name": "punctuation.definition.directive.cpp" }, + "6": { } + }, + "endCaptures": { }, + "patterns": [ + { + "begin": "\\G(?<=ifndef|ifdef|if)", + "end": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { "name": "punctuation.definition.directive.cpp" } + }, + "name": "keyword.control.directive.$4.cpp" + }, + "preprocessor_context": { + "patterns": [ + { "include": "#pragma_mark" }, + { "include": "#pragma" }, + { "include": "#include" }, + { "include": "#line" }, + { "include": "#diagnostic" }, + { "include": "#undef" }, + { "include": "#preprocessor_conditional_range" }, + { "include": "#single_line_macro" }, + { "include": "#macro" }, + { "include": "#preprocessor_conditional_standalone" }, + { "include": "#macro_argument" } + ] + }, + "qualified_type": { + "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)?(?![\\w<:.])", + "captures": { + "0": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] }, - "2": { - "name": "comment.block.cpp" + "1": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "4": { "patterns": [ { "include": "#inline_comment" } ] }, + "5": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "6": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + }, + "name": "meta.qualified_type.cpp" + }, + "qualifiers_and_specifiers_post_parameters": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { "name": "storage.modifier.specifier.functional.post-parameters.$3.cpp" }, + "4": { "patterns": [ { "include": "#inline_comment" } ] }, + "5": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - } } - ] }, - "14": { - "name": "keyword.operator.assignment.cpp" - }, - "15": { - "name": "keyword.other.typename.cpp" + "scope_resolution": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } + } }, - "16": { - "patterns": [ - { - "include": "#storage_specifiers" + "scope_resolution_function_call": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } } - ] }, - "17": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" + "scope_resolution_function_call_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.function.call.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "7": { }, + "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" } } - ] }, - "18": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" + "scope_resolution_function_definition": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } } - ] }, - "19": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" + "scope_resolution_function_definition_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.function.definition.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" } } - ] }, - "20": { - "patterns": [ - { - "include": "#inline_comment" + "scope_resolution_function_definition_operator_overload": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } } - ] }, - "21": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" + "scope_resolution_function_definition_operator_overload_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "22": { - "patterns": [ - { - "include": "#inline_comment" + "7": { }, + "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" } } - ] }, - "23": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" + "scope_resolution_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "7": { }, + "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" } } - ] }, - "24": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } } - ] }, - "25": { - "patterns": [ - { - "include": "#template_call_range" + "scope_resolution_namespace_alias_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.namespace.alias.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" } } - ] }, - "27": { - "patterns": [ - { - "include": "#inline_comment" + "scope_resolution_namespace_block": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_namespace_block_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } } - ] }, - "28": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" + "scope_resolution_namespace_block_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_namespace_block_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.namespace.block.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "7": { }, + "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" } } - ] }, - "30": { - "name": "meta.declaration.type.alias.value.unknown.cpp", - "patterns": [ - { - "include": "#evaluation_context" + "scope_resolution_namespace_using": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_namespace_using_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } } - ] }, - "31": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" + "scope_resolution_namespace_using_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_namespace_using_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.namespace.using.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" + "7": { }, + "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" } } - ] }, - "32": { - "patterns": [ - { - "include": "#inline_comment" + "scope_resolution_parameter": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_parameter_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } } - ] }, - "33": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" + "scope_resolution_parameter_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_parameter_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.parameter.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "7": { }, + "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" } } - ] }, - "34": { - "patterns": [ - { - "include": "#inline_comment" + "scope_resolution_template_call": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_template_call_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } } - ] }, - "35": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" + "scope_resolution_template_call_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_template_call_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.template.call.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "7": { }, + "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" } } - ] }, - "36": { - "patterns": [ - { - "include": "#inline_comment" + "scope_resolution_template_definition": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_template_definition_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } } - ] }, - "37": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" + "scope_resolution_template_definition_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_template_definition_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.template.definition.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "38": { - "name": "punctuation.definition.begin.bracket.square.cpp" - }, - "39": { - "patterns": [ - { - "include": "#evaluation_context" + "7": { }, + "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" } } - ] }, - "40": { - "name": "punctuation.definition.end.bracket.square.cpp" + "semicolon": { + "match": ";", + "name": "punctuation.terminator.statement.cpp" }, - "41": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.declaration.type.alias.cpp" - }, - "type_casting_operators": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { + "simple_type": { + "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", + "captures": { "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { - "name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp" - } - } - }, - "typedef_class": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.class.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { - "name": "storage.type.modifier.final.cpp" - }, - "2": { - "patterns": [ + "name": "meta.qualified_type.cpp", + "patterns": [ { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - } - } + ] }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { - "name": "entity.name.type.class.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ + ] + }, + "7": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "6": { - "name": "storage.type.modifier.final.cpp" - }, - "7": { - "patterns": [ + ] + }, + "12": { }, + "13": { + "patterns": [ { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\&", + "name": "storage.modifier.reference.cpp" } - ] - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "14": { - "name": "comment.block.cpp" - }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "17": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "18": { - "name": "comment.block.cpp" - }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "14": { "patterns": [ { "include": "#inline_comment" } ] }, + "15": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - ] - }, - "20": { - "name": "punctuation.separator.colon.inheritance.cpp" } - }, - "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" - }, - "2": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.block.class.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "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": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { + }, + "single_line_macro": { + "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))#define.*(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - }, - "name": "meta.body.class.cpp", - "patterns": [ - { - "include": "#function_pointer" - }, - { - "include": "#static_assert" - }, - { - "include": "#constructor_inline" - }, - { - "include": "#destructor_inline" + } + }, + "sizeof_operator": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - { - "include": "$self" - } - ] + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" } }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.class.cpp", - "patterns": [ - { - "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" } }, + "contentName": "meta.arguments.operator.sizeof.variadic", + "patterns": [ { "include": "#evaluation_context" } ] + }, + "square_brackets": { + "name": "meta.bracket.square.access", + "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])", + "beginCaptures": { + "1": { "name": "variable.other.object" }, + "2": { "name": "punctuation.definition.begin.bracket.square" } + }, + "end": "\\]", + "endCaptures": { "0": { "name": "punctuation.definition.end.bracket.square" } }, + "patterns": [ { "include": "#evaluation_context" } ] + }, + "standard_declares": { + "patterns": [ + { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { "name": "storage.type.struct.declare.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ { - "include": "#inline_comment" + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ + ] + }, + "4": { "name": "entity.name.type.struct.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\&", + "name": "storage.modifier.reference.cpp" } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" + ] }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "12": { - "name": "comment.block.cpp" - }, - "13": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" + "12": { "name": "variable.other.object.declare.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - ] - }, - "14": { - "name": "entity.name.type.alias.cpp" } - } - }, - { - "match": "," - } - ] - } - ] - } - ] - }, - "typedef_function_pointer": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { "name": "storage.type.union.declare.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { "name": "entity.name.type.union.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { "name": "variable.other.object.declare.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { - "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { "name": "storage.type.enum.declare.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { "name": "entity.name.type.enum.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { "name": "variable.other.object.declare.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { "name": "storage.type.class.declare.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { "name": "entity.name.type.class.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { "name": "variable.other.object.declare.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } } - ] - }, - "18": { - }, - "19": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ + ] + }, + "static_assert": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, { - "include": "#inline_comment" + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ + ] + }, + "5": { "name": "keyword.other.static_assert.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp" } }, + "patterns": [ + { + "begin": "(,)(?:(?:\\s)+)?(?=(?:L|u8|u|U(?:(?:\\s)+)?\\\")?)", + "end": "(?=\\))", + "beginCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, + "endCaptures": { }, + "name": "meta.static_assert.message.cpp", + "patterns": [ { "include": "#string_context" } ] + }, + { "include": "#evaluation_context" } + ] + }, + "std_space": { + "match": "(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))", + "captures": { + "0": { "patterns": [ { "include": "#inline_comment" } ] }, + "1": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "20": { - "patterns": [ - { - "include": "#inline_comment" + ] } - ] - }, - "21": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "22": { - "name": "comment.block.cpp" - }, - "23": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + }, + "storage_specifiers": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, + "3": { "name": "storage.modifier.specifier.$3.cpp" } + } + }, + "storage_types": { + "patterns": [ + { "include": "#storage_specifiers" }, + { "include": "#inline_builtin_storage_type" }, + { "include": "#decltype" }, + { "include": "#typename" } + ] + }, + "string_context": { + "patterns": [ { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "24": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "25": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "26": { - "name": "comment.block.cpp" - }, - "27": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "begin": "((?:u|u8|U|L)?)\"", + "end": "\"", + "beginCaptures": { + "0": { "name": "punctuation.definition.string.begin.cpp" }, + "1": { "name": "meta.encoding.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.definition.string.end.cpp" } }, + "name": "string.quoted.double.cpp", + "patterns": [ + { + "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})", + "name": "constant.character.escape.cpp" + }, + { + "match": "\\\\['\"?\\\\abfnrtv]", + "name": "constant.character.escape.cpp" + }, + { + "match": "\\\\[0-7]{1,3}", + "name": "constant.character.escape.cpp" + }, + { + "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))", + "captures": { + "1": { "name": "constant.character.escape.cpp" }, + "2": { "name": "invalid.illegal.unknown-escape.cpp" } + } + }, + { "include": "#string_escapes_context_c" } + ] }, { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "28": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "29": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "30": { - "name": "comment.block.cpp" - }, - "31": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "begin": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.struct.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(", + "end": "\\)(?:glsl|GLSL)\\\"", + "beginCaptures": { + "0": { "name": "punctuation.definition.string.begin.cpp" }, + "1": { "name": "meta.encoding.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.definition.string.end.cpp" } }, + "name": "meta.string.quoted.double.raw.glsl.cpp", + "patterns": [ { "include": "source.glsl" } ] }, { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" + "begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(", + "end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"", + "beginCaptures": { + "0": { "name": "punctuation.definition.string.begin.cpp" }, + "1": { "name": "meta.encoding.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.definition.string.end.cpp" } }, + "name": "meta.string.quoted.double.raw.sql.cpp", + "patterns": [ { "include": "source.sql" } ] }, { - "include": "#number_literal" + "begin": "((?:u|u8|U|L)?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)\"", + "endCaptures": { + "0": { "name": "punctuation.definition.string.end" }, + "1": { "name": "invalid.illegal.delimiter-too-long" } + }, + "name": "string.quoted.double.raw" } - ] - }, - "7": { - "patterns": [ + ] + }, + "string_escapes_context_c": { + "patterns": [ { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ + "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", + "name": "constant.character.escape" + }, { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "\\\\.", + "name": "invalid.illegal.unknown-escape" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "(?x) (?!%')(?!%\")%\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type", + "name": "constant.other.placeholder" } - ] - }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { - "name": "storage.type.modifier.final.cpp" - }, - "2": { - "patterns": [ + ] + }, + "struct_block": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.struct.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, { - "include": "#inline_comment" + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ + ] + }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] - } - } + ] }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { - "name": "entity.name.type.struct.cpp" - }, - "2": { - "patterns": [ + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { "name": "storage.type.modifier.final.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { "name": "entity.name.type.struct.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "storage.type.modifier.final.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + }, { - "include": "#inline_comment" + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ + ] + }, + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "14": { "name": "comment.block.cpp" }, + "15": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "6": { - "name": "storage.type.modifier.final.cpp" - }, - "7": { - "patterns": [ + ] + }, + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "18": { "name": "comment.block.cpp" }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, { - "include": "#inline_comment" + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "20": { "name": "punctuation.separator.colon.inheritance.cpp" } + }, + "endCaptures": { + "1": { "name": "punctuation.terminator.statement.cpp" }, + "2": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.block.struct.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.struct.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "struct_declare": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { "name": "storage.type.struct.declare.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ + ] + }, + "4": { "name": "entity.name.type.struct.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\&", + "name": "storage.modifier.reference.cpp" } - ] - } - } + ] }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "14": { - "name": "comment.block.cpp" - }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "17": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "18": { - "name": "comment.block.cpp" - }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" + "12": { "name": "variable.other.object.declare.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - ] - }, - "20": { - "name": "punctuation.separator.colon.inheritance.cpp" } - }, - "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" - }, - "2": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.block.struct.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "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": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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" + }, + "switch_conditional_parentheses": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - { - "include": "$self" - } - ] + "5": { "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp" } }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.struct.cpp", - "patterns": [ - { - "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.switch.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { "name": "keyword.control.switch.cpp" } + }, + "endCaptures": { }, + "name": "meta.block.switch.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.switch.cpp" } }, + "name": "meta.head.switch.cpp", + "patterns": [ + { "include": "#switch_conditional_parentheses" }, + { "include": "$self" } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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" }, + { "include": "#block_innards" } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.switch.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "template_argument_defaulted": { + "match": "(?<=<|,)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)*)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?([=])", + "captures": { + "1": { "name": "storage.type.template.cpp" }, + "2": { "name": "entity.name.type.template.cpp" }, + "3": { "name": "keyword.operator.assignment.cpp" } + } + }, + "template_call_context": { + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#template_call_range" }, + { "include": "#storage_types" }, + { "include": "#language_constants" }, + { "include": "#scope_resolution_template_call_inner_generated" }, + { "include": "#operators" }, + { "include": "#number_literal" }, + { "include": "#string_context" }, + { "include": "#comma_in_template_argument" }, + { "include": "#qualified_type" } + ] + }, + "template_call_innards": { + "match": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<1>?)+>)(?:\\s)*+", + "captures": { "0": { "patterns": [ { "include": "#template_call_range" } ] } }, + "name": "meta.template.call.cpp" + }, + "template_call_range": { + "begin": "<", + "end": ">", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + "template_definition": { + "begin": "(?", + "beginCaptures": { + "1": { "name": "storage.type.template.cpp" }, + "2": { "name": "punctuation.section.angle-brackets.start.template.definition.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.definition.cpp" } }, + "name": "meta.template.definition.cpp", + "patterns": [ + { + "begin": "(?<=\\w)(?:(?:\\s)+)?<", + "end": ">", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "patterns": [ { "include": "#template_call_context" } ] + }, + { "include": "#template_definition_context" } + ] + }, + "template_definition_argument": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))(?:(?:\\s)+)?(?:(,)|(?=>|$))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" + } + } + ] + }, + "3": { "name": "storage.type.template.argument.$3.cpp" }, + "4": { + "patterns": [ + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "storage.type.template.argument.$0.cpp" + } + ] + }, + "5": { "name": "entity.name.type.template.cpp" }, + "6": { "name": "storage.type.template.cpp" }, + "7": { "name": "punctuation.vararg-ellipses.template.definition.cpp" }, + "8": { "name": "entity.name.type.template.cpp" }, + "9": { "name": "punctuation.separator.delimiter.comma.template.argument.cpp" } + } + }, + "template_definition_context": { + "patterns": [ + { "include": "#scope_resolution_template_definition_inner_generated" }, + { "include": "#template_definition_argument" }, + { "include": "#template_argument_defaulted" }, + { "include": "#template_call_innards" }, + { "include": "#evaluation_context" } + ] + }, + "template_isolated_definition": { + "match": "(?(?:(?:\\s)+)?$)", + "captures": { + "1": { "name": "storage.type.template.cpp" }, + "2": { "name": "punctuation.section.angle-brackets.start.template.definition.cpp" }, + "3": { + "name": "meta.template.definition.cpp", + "patterns": [ { "include": "#template_definition_context" } ] + }, + "4": { "name": "punctuation.section.angle-brackets.end.template.definition.cpp" } + } + }, + "ternary_operator": { + "begin": "\\?", + "end": ":", + "beginCaptures": { "0": { "name": "keyword.operator.ternary.cpp" } }, + "endCaptures": { "0": { "name": "keyword.operator.ternary.cpp" } }, + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#string_context" }, + { "include": "#number_literal" }, + { "include": "#method_access" }, + { "include": "#member_access" }, + { "include": "#predefined_macros" }, + { "include": "#operators" }, + { "include": "#memory_operators" }, + { "include": "#wordlike_operators" }, + { "include": "#type_casting_operators" }, + { "include": "#control_flow_keywords" }, + { "include": "#exception_keywords" }, + { "include": "#the_this_keyword" }, + { "include": "#language_constants" }, + { "include": "#builtin_storage_type_initilizer" }, + { "include": "#qualifiers_and_specifiers_post_parameters" }, + { "include": "#functional_specifiers_pre_parameters" }, + { "include": "#storage_types" }, + { "include": "#lambdas" }, + { "include": "#attributes_context" }, + { "include": "#parentheses" }, + { "include": "#function_call" }, + { "include": "#scope_resolution_inner_generated" }, + { "include": "#square_brackets" }, + { "include": "#semicolon" }, + { "include": "#comma" } + ], + "applyEndPatternLast": 1 + }, + "the_this_keyword": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } - ] } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" } - ] - }, - "2": { - "patterns": [ + ] + }, + "3": { "name": "variable.language.this.cpp" } + } + }, + "type_alias": { + "match": "(using)(?:(?:\\s)+)?(?!namespace)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))|(.*(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)?(?:(?:\\s)+)?(?:(;)|\\n)", + "captures": { + "1": { "name": "keyword.other.using.directive.cpp" }, + "2": { + "name": "meta.qualified_type.cpp", + "patterns": [ { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" + ] + }, + "3": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "4": { "patterns": [ { "include": "#inline_comment" } ] }, + "5": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ + ] + }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" + ] + }, + "14": { "name": "keyword.operator.assignment.cpp" }, + "15": { "name": "keyword.other.typename.cpp" }, + "16": { "patterns": [ { "include": "#storage_specifiers" } ] }, + "17": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "11": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "12": { - "name": "comment.block.cpp" - }, - "13": { - "patterns": [ + ] + }, + "18": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" } - ] - }, - "14": { - "name": "entity.name.type.alias.cpp" - } - } - }, - { - "match": "," - } - ] - } - ] - } - ] - }, - "typedef_union": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.union.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" + "19": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "20": { "patterns": [ { "include": "#inline_comment" } ] }, + "21": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { - "name": "storage.type.modifier.final.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" + "22": { "patterns": [ { "include": "#inline_comment" } ] }, + "23": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ + ] + }, + "24": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - } - } + ] }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { - "name": "entity.name.type.union.cpp" - }, - "2": { - "patterns": [ + "30": { + "name": "meta.declaration.type.alias.value.unknown.cpp", + "patterns": [ { "include": "#evaluation_context" } ] + }, + "31": { + "patterns": [ { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "32": { "patterns": [ { "include": "#inline_comment" } ] }, + "33": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "6": { - "name": "storage.type.modifier.final.cpp" - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" + ] + }, + "34": { "patterns": [ { "include": "#inline_comment" } ] }, + "35": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" + ] + }, + "36": { "patterns": [ { "include": "#inline_comment" } ] }, + "37": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } - ] - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "14": { - "name": "comment.block.cpp" - }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "17": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "18": { - "name": "comment.block.cpp" - }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + ] + }, + "38": { "name": "punctuation.definition.begin.bracket.square.cpp" }, + "39": { "patterns": [ { "include": "#evaluation_context" } ] }, + "40": { "name": "punctuation.definition.end.bracket.square.cpp" }, + "41": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.declaration.type.alias.cpp" + }, + "type_casting_operators": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "20": { - "name": "punctuation.separator.colon.inheritance.cpp" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" - }, - "2": { - "name": "punctuation.terminator.statement.cpp" + "3": { "name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp" } } - }, - "name": "meta.block.union.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "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": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.union.cpp", - "patterns": [ + }, + "typedef_class": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.class.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { "name": "storage.type.modifier.final.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { "name": "entity.name.type.class.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "storage.type.modifier.final.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + } + ] + }, + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "14": { "name": "comment.block.cpp" }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "18": { "name": "comment.block.cpp" }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "20": { "name": "punctuation.separator.colon.inheritance.cpp" } + }, + "endCaptures": { + "1": { "name": "punctuation.terminator.statement.cpp" }, + "2": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.block.class.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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" } + ] + }, { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.class.cpp", + "patterns": [ + { + "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "12": { "name": "comment.block.cpp" }, + "13": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "14": { "name": "entity.name.type.alias.cpp" } + } + }, + { "match": "," } + ] + } + ] + } + ] + }, + "typedef_function_pointer": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ + "18": { }, + "19": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, { - "include": "#inline_comment" + "match": "\\&", + "name": "storage.modifier.reference.cpp" } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "patterns": [ + ] + }, + "20": { "patterns": [ { "include": "#inline_comment" } ] }, + "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "22": { "name": "comment.block.cpp" }, + "23": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" + ] }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "24": { "patterns": [ { "include": "#inline_comment" } ] }, + "25": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "26": { "name": "comment.block.cpp" }, + "27": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "28": { "patterns": [ { "include": "#inline_comment" } ] }, + "29": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "30": { "name": "comment.block.cpp" }, + "31": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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" } + }, + "endCaptures": { + "1": { "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "patterns": [ { "include": "#function_parameter_context" } ] + } + ] + }, + "typedef_struct": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.struct.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { "name": "storage.type.modifier.final.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { "name": "entity.name.type.struct.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "storage.type.modifier.final.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + } + ] + }, + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "14": { "name": "comment.block.cpp" }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "18": { "name": "comment.block.cpp" }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "20": { "name": "punctuation.separator.colon.inheritance.cpp" } + }, + "endCaptures": { + "1": { "name": "punctuation.terminator.statement.cpp" }, + "2": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.block.struct.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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" } + ] }, { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "12": { - "name": "comment.block.cpp" - }, - "13": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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" } + ] }, { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "14": { - "name": "entity.name.type.alias.cpp" - } - } - }, - { - "match": "," - } - ] - } - ] - } - ] - }, - "typeid_operator": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" - } - }, - "contentName": "meta.arguments.operator.typeid", - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "typename": { - "match": "(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)?(?![\\w<:.]))", - "captures": { - "1": { - "name": "storage.modifier.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "5": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "6": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { - } - } - }, - "undef": { - "match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "punctuation.definition.directive.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "name": "entity.name.function.preprocessor.cpp" - } - }, - "name": "meta.preprocessor.undef.cpp" - }, - "union_block": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.union.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.struct.cpp", + "patterns": [ + { + "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "12": { "name": "comment.block.cpp" }, + "13": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "14": { "name": "entity.name.type.alias.cpp" } + } + }, + { "match": "," } + ] + } + ] + } + ] + }, + "typedef_union": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.union.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { "name": "storage.type.modifier.final.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { "name": "entity.name.type.union.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "storage.type.modifier.final.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + } + ] + }, + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "14": { "name": "comment.block.cpp" }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "18": { "name": "comment.block.cpp" }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "20": { "name": "punctuation.separator.colon.inheritance.cpp" } + }, + "endCaptures": { + "1": { "name": "punctuation.terminator.statement.cpp" }, + "2": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.block.union.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.union.cpp", + "patterns": [ + { + "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "12": { "name": "comment.block.cpp" }, + "13": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "14": { "name": "entity.name.type.alias.cpp" } + } + }, + { "match": "," } + ] + } + ] + } + ] }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { - "name": "storage.type.modifier.final.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, + "typeid_operator": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { - "name": "entity.name.type.union.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" } }, + "contentName": "meta.arguments.operator.typeid", + "patterns": [ { "include": "#evaluation_context" } ] + }, + "typename": { + "match": "(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)?(?![\\w<:.]))", + "captures": { + "1": { "name": "storage.modifier.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, + "4": { "patterns": [ { "include": "#inline_comment" } ] }, "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, "6": { - "name": "storage.type.modifier.final.cpp" + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] }, "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, "9": { - "name": "comment.block.cpp" - }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "14": { - "name": "comment.block.cpp" - }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "17": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "18": { - "name": "comment.block.cpp" - }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "20": { - "name": "punctuation.separator.colon.inheritance.cpp" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" - }, - "2": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.block.union.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "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": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.union.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "union_declare": { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { - "name": "storage.type.union.declare.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { - "name": "entity.name.type.union.cpp" - }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "12": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { } + } + }, + "undef": { + "match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "name": "comment.block.cpp" + "4": { "name": "punctuation.definition.directive.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" + "7": { "name": "entity.name.function.preprocessor.cpp" } }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "name": "meta.preprocessor.undef.cpp" }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "union_block": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.union.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "2": { - "name": "comment.block.cpp" + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { "name": "storage.type.modifier.final.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { "name": "entity.name.type.union.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { "name": "storage.type.modifier.final.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + } + ] }, - "2": { - "name": "comment.block.cpp" + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "14": { "name": "comment.block.cpp" }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "18": { "name": "comment.block.cpp" }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "20": { "name": "punctuation.separator.colon.inheritance.cpp" } + }, + "endCaptures": { + "1": { "name": "punctuation.terminator.statement.cpp" }, + "2": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.block.union.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.union.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "union_declare": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { "name": "storage.type.union.declare.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "4": { "name": "entity.name.type.union.cpp" }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { - "name": "variable.other.object.declare.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { "name": "variable.other.object.declare.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "2": { "name": "comment.block.cpp" }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] } - } - } - ] - } - } - }, - "using_name": { - "match": "(using)(?:\\s)+(?!namespace\\b)", - "captures": { - "1": { - "name": "keyword.other.using.directive.cpp" - } - } - }, - "using_namespace": { - "begin": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<6>?)+>)(?:\\s)*+)?::)*\\s*+)?((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<6>?)+>)(?:\\s)*+)?::)*\\s*+)?((? Date: Fri, 3 Feb 2023 15:42:23 -0600 Subject: [PATCH 13/65] - --- syntaxes/cpp.tmLanguage.json | 31391 ++++++++++++++++++++------------- 1 file changed, 19466 insertions(+), 11925 deletions(-) diff --git a/syntaxes/cpp.tmLanguage.json b/syntaxes/cpp.tmLanguage.json index 0bef9617..86931046 100644 --- a/syntaxes/cpp.tmLanguage.json +++ b/syntaxes/cpp.tmLanguage.json @@ -1,12461 +1,20002 @@ { - "information_for_contributors": [ - "This code was auto generated by a much-more-readable ruby file", - "This file essentially an updated/improved fork of the atom syntax", - "see https://github.com/jeff-hykin/cpp-textmate-grammar/blob/master" - ], - "version": "", - "name": "C++", - "scopeName": "source.cpp", - "fileTypes": [ - "cc", - "cpp", - "cp", - "cxx", - "c++", - "C", - "h", - "hh", - "hpp", - "h++" - ], - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#constructor_root" }, - { "include": "#destructor_root" }, - { "include": "#function_definition" }, - { "include": "#operator_overload" }, - { "include": "#using_namespace" }, - { "include": "#type_alias" }, - { "include": "#using_name" }, - { "include": "#namespace_alias" }, - { "include": "#namespace_block" }, - { "include": "#extern_block" }, - { "include": "#typedef_class" }, - { "include": "#typedef_struct" }, - { "include": "#typedef_union" }, - { "include": "#misc_keywords" }, - { "include": "#standard_declares" }, - { "include": "#class_block" }, - { "include": "#struct_block" }, - { "include": "#union_block" }, - { "include": "#enum_block" }, - { "include": "#template_isolated_definition" }, - { "include": "#template_definition" }, - { "include": "#access_control_keywords" }, - { "include": "#block" }, - { "include": "#static_assert" }, - { "include": "#assembly" }, - { "include": "#function_pointer" }, - { "include": "#evaluation_context" } - ], - "repository": { - "access_control_keywords": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "information_for_contributors": [ + "This code was auto generated by a much-more-readable ruby file", + "This file essentially an updated/improved fork of the atom syntax", + "see https://github.com/jeff-hykin/cpp-textmate-grammar/blob/master" + ], + "version": "", + "name": "C++", + "scopeName": "source.cpp", + "fileTypes": [ + "cc", + "cpp", + "cp", + "cxx", + "c++", + "C", + "h", + "hh", + "hpp", + "h++" + ], + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#constructor_root" + }, + { + "include": "#destructor_root" + }, + { + "include": "#function_definition" + }, + { + "include": "#operator_overload" + }, + { + "include": "#using_namespace" + }, + { + "include": "#type_alias" + }, + { + "include": "#using_name" + }, + { + "include": "#namespace_alias" + }, + { + "include": "#namespace_block" + }, + { + "include": "#extern_block" + }, + { + "include": "#typedef_class" + }, + { + "include": "#typedef_struct" + }, + { + "include": "#typedef_union" + }, + { + "include": "#misc_keywords" + }, + { + "include": "#standard_declares" + }, + { + "include": "#class_block" + }, + { + "include": "#struct_block" + }, + { + "include": "#union_block" + }, + { + "include": "#enum_block" + }, + { + "include": "#template_isolated_definition" + }, + { + "include": "#template_definition" + }, + { + "include": "#access_control_keywords" + }, + { + "include": "#block" + }, + { + "include": "#static_assert" + }, + { + "include": "#assembly" + }, + { + "include": "#function_pointer" + }, + { + "include": "#evaluation_context" + } + ], + "repository": { + "access_control_keywords": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" }, - "3": { "name": "storage.type.modifier.access.control.$4.cpp" }, - "4": { }, - "5": { "name": "punctuation.separator.colon.access.control.cpp" } + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "storage.type.modifier.access.control.$4.cpp" + }, + "4": { + }, + "5": { + "name": "punctuation.separator.colon.access.control.cpp" + } + } + }, + "alignas_attribute": { + "begin": "alignas\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.attribute.begin.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.attribute.end.cpp" + } + }, + "name": "support.other.attribute.cpp", + "patterns": [ + { + "include": "#attributes_context" + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + }, + "endCaptures": { + }, + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#string_context" + } + ] + }, + { + "match": "(using)(?:\\s)+((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" + } + }, + "contentName": "meta.arguments.operator.alignas", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "alignof_operator": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" + } + }, + "contentName": "meta.arguments.operator.alignof", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "assembly": { + "begin": "(\\b(?:__asm__|asm)\\b)(?:(?:\\s)+)?((?:volatile)?)", + "end": "(?!\\G)", + "beginCaptures": { + "1": { + "name": "storage.type.asm.cpp" }, - "alignas_attribute": { - "begin": "alignas\\(", - "end": "\\)", - "beginCaptures": { "0": { "name": "punctuation.section.attribute.begin.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.attribute.end.cpp" } }, - "name": "support.other.attribute.cpp", - "patterns": [ - { "include": "#attributes_context" }, + "2": { + "name": "storage.modifier.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.asm.cpp", + "patterns": [ + { + "match": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\n)|$)", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { }, - "endCaptures": { }, - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#string_context" } - ] + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "(using)(?:\\s)+((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parens.begin.bracket.round.assembly.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": ",", - "name": "punctuation.separator.attribute.cpp" + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.bracket.round.assembly.cpp" + } + }, + "patterns": [ + { + "begin": "(R?)(\")", + "end": "\"", + "beginCaptures": { + "1": { + "name": "meta.encoding.cpp" }, + "2": { + "name": "punctuation.definition.string.begin.assembly.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.assembly.cpp" + } + }, + "name": "string.quoted.double.cpp", + "contentName": "meta.embedded.assembly", + "patterns": [ { - "match": ":", - "name": "punctuation.accessor.attribute.cpp" + "include": "source.asm" }, { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "include": "source.arm" }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" } }, - "contentName": "meta.arguments.operator.alignas", - "patterns": [ { "include": "#evaluation_context" } ] - }, - "alignof_operator": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "include": "#backslash_escapes" }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" } }, - "contentName": "meta.arguments.operator.alignof", - "patterns": [ { "include": "#evaluation_context" } ] - }, - "assembly": { - "begin": "(\\b(?:__asm__|asm)\\b)(?:(?:\\s)+)?((?:volatile)?)", - "end": "(?!\\G)", - "beginCaptures": { - "1": { "name": "storage.type.asm.cpp" }, - "2": { "name": "storage.modifier.cpp" } + { + "include": "#string_escaped_char" + } + ] }, - "endCaptures": { }, - "name": "meta.asm.cpp", - "patterns": [ + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp" + } + }, + "patterns": [ { - "match": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\n)|$)", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } + "include": "#evaluation_context" + } + ] + }, + { + "match": "\\[((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" } + ] }, - { "include": "#comments" }, - { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\(", - "end": "\\)", - "beginCaptures": { - "0": { "name": "punctuation.section.parens.begin.bracket.round.assembly.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "endCaptures": { "0": { "name": "punctuation.section.parens.end.bracket.round.assembly.cpp" } }, - "patterns": [ - { - "begin": "(R?)(\")", - "end": "\"", - "beginCaptures": { - "1": { "name": "meta.encoding.cpp" }, - "2": { "name": "punctuation.definition.string.begin.assembly.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.definition.string.end.assembly.cpp" } }, - "name": "string.quoted.double.cpp", - "contentName": "meta.embedded.assembly", - "patterns": [ - { "include": "source.asm" }, - { "include": "source.x86" }, - { "include": "source.x86_64" }, - { "include": "source.arm" }, - { "include": "#backslash_escapes" }, - { "include": "#string_escaped_char" } - ] - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { "0": { "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp" } }, - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "match": "\\[((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { "name": "variable.other.asm.label.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": ":", - "name": "punctuation.separator.delimiter.colon.assembly.cpp" - }, - { "include": "#comments" } - ] - } - ] - }, - "assignment_operator": { - "match": "\\=", - "name": "keyword.operator.assignment.cpp" - }, - "attributes_context": { - "patterns": [ - { "include": "#cpp_attributes" }, - { "include": "#gcc_attributes" }, - { "include": "#ms_attributes" }, - { "include": "#alignas_attribute" } - ] - }, - "backslash_escapes": { - "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", - "name": "constant.character.escape" - }, - "block": { - "begin": "{", - "end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)", - "beginCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.cpp" } }, - "name": "meta.block.cpp", - "patterns": [ { "include": "#function_body_context" } ] - }, - "block_comment": { - "begin": "\\s*+(\\/\\*)", - "end": "\\*\\/", - "beginCaptures": { "1": { "name": "punctuation.definition.comment.begin.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.definition.comment.end.cpp" } }, - "name": "comment.block.cpp" - }, - "builtin_storage_type_initilizer": { - "begin": "(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.class.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { "name": "storage.type.modifier.final.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { "name": "entity.name.type.class.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "storage.type.modifier.final.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" - } - ] + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "comment.block.cpp" }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { + "name": "comment.block.cpp" }, - "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "18": { "name": "comment.block.cpp" }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "20": { "name": "punctuation.separator.colon.inheritance.cpp" } - }, - "endCaptures": { - "1": { "name": "punctuation.terminator.statement.cpp" }, - "2": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.block.class.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.class.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "class_declare": { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { "name": "storage.type.class.declare.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "4": { "name": "entity.name.type.class.cpp" }, "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "name": "variable.other.asm.label.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "8": { + "name": "comment.block.cpp" }, - "12": { "name": "variable.other.object.declare.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } + } + }, + { + "match": ":", + "name": "punctuation.separator.delimiter.colon.assembly.cpp" + }, + { + "include": "#comments" } + ] + } + ] + }, + "assignment_operator": { + "match": "\\=", + "name": "keyword.operator.assignment.cpp" + }, + "attributes_context": { + "patterns": [ + { + "include": "#cpp_attributes" }, - "comma": { - "match": ",", - "name": "punctuation.separator.delimiter.comma.cpp" + { + "include": "#gcc_attributes" }, - "comma_in_template_argument": { - "match": ",", - "name": "punctuation.separator.delimiter.comma.template.argument.cpp" + { + "include": "#ms_attributes" }, - "comments": { - "patterns": [ - { - "begin": "^(?:(?:\\s)+)?+(\\/\\/[!\\/]+)", - "end": "(?<=\\n)(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.italic.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.bold.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.inline.raw.string.cpp" } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { - "patterns": [ - { - "match": "in|out", - "name": "keyword.other.parameter.direction.$0.cpp" - } - ] - }, - "3": { "name": "variable.parameter.cpp" } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", - "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" - } - ] - }, - { - "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)", - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.italic.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.bold.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.inline.raw.string.cpp" } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { - "patterns": [ - { - "match": "in|out", - "name": "keyword.other.parameter.direction.$0.cpp" - } - ] - }, - "3": { "name": "variable.parameter.cpp" } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", - "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" } - }, - "name": "comment.block.documentation.cpp" - }, - { - "begin": "(?:(?:\\s)+)?+\\/\\*[!*]+(?:(?:(?:\\n)|$)|(?=\\s))", - "end": "[!*]*\\*\\/", - "beginCaptures": { "0": { "name": "punctuation.definition.comment.begin.documentation.cpp" } }, - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.italic.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.bold.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.inline.raw.string.cpp" } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { - "patterns": [ - { - "match": "in|out", - "name": "keyword.other.parameter.direction.$0.cpp" - } - ] - }, - "3": { "name": "variable.parameter.cpp" } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "(?:\\b[A-Z]+:|@[a-z_]+:)", - "name": "storage.type.class.gtkdoc.cpp" - } - ] - }, - { "include": "#emacs_file_banner" }, - { "include": "#block_comment" }, - { "include": "#line_comment" }, - { "include": "#invalid_comment_end" } - ] - }, - "constructor_inline": { - "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "include": "#alignas_attribute" + } + ] + }, + "backslash_escapes": { + "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", + "name": "constant.character.escape" + }, + "block": { + "begin": "{", + "end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)", + "beginCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.cpp" + } + }, + "name": "meta.block.cpp", + "patterns": [ + { + "include": "#function_body_context" + } + ] + }, + "block_comment": { + "begin": "\\s*+(\\/\\*)", + "end": "\\*\\/", + "beginCaptures": { + "1": { + "name": "punctuation.definition.comment.begin.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.comment.end.cpp" + } + }, + "name": "comment.block.cpp" + }, + "builtin_storage_type_initilizer": { + "begin": "(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.class.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { + "name": "storage.type.modifier.final.cpp" }, - "5": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "12": { "name": "comment.block.cpp" }, - "13": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "storage.type.modifier.calling-convention.cpp" }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "17": { "name": "comment.block.cpp" }, - "18": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "19": { "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" } - }, - "endCaptures": { }, - "name": "meta.function.definition.special.constructor.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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" }, - { - "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", - "captures": { - "1": { "name": "keyword.operator.assignment.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "keyword.other.default.constructor.cpp" }, - "7": { "name": "keyword.other.delete.constructor.cpp" } - } - }, - { "include": "#functional_specifiers_pre_parameters" }, - { - "begin": ":", - "end": "(?=\\{)", - "beginCaptures": { "0": { "name": "punctuation.separator.initializers.cpp" } }, - "endCaptures": { }, - "patterns": [ - { - "begin": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "entity.name.function.call.initializer.cpp" }, - "2": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "3": { }, - "4": { "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, - "contentName": "meta.parameter.initialization", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "begin": "((?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.special.constructor.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "constructor_root": { - "begin": "\\s*+((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())", - "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { "name": "storage.type.modifier.calling-convention.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { + "name": "entity.name.type.class.cpp" }, - "11": { "patterns": [ { "include": "#template_call_range" } ] }, - "12": { }, - "13": { - "patterns": [ - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?=:)", - "name": "entity.name.type.constructor.cpp" - }, - { - "match": "(?<=:)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.function.definition.special.constructor.cpp" - }, - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" - } - ] + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - "14": { }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "17": { "name": "comment.block.cpp" }, - "18": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "21": { "name": "comment.block.cpp" }, - "22": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "4": { + "name": "comment.block.cpp" }, - "23": { "patterns": [ { "include": "#inline_comment" } ] }, - "24": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "25": { "name": "comment.block.cpp" }, - "26": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "endCaptures": { }, - "name": "meta.function.definition.special.constructor.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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" }, - { - "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", - "captures": { - "1": { "name": "keyword.operator.assignment.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "keyword.other.default.constructor.cpp" }, - "7": { "name": "keyword.other.delete.constructor.cpp" } - } - }, - { "include": "#functional_specifiers_pre_parameters" }, - { - "begin": ":", - "end": "(?=\\{)", - "beginCaptures": { "0": { "name": "punctuation.separator.initializers.cpp" } }, - "endCaptures": { }, - "patterns": [ - { - "begin": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "entity.name.function.call.initializer.cpp" }, - "2": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "3": { }, - "4": { "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, - "contentName": "meta.parameter.initialization", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "begin": "((?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.special.constructor.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "control_flow_keywords": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "3": { "name": "keyword.control.$3.cpp" } - } - }, - "cpp_attributes": { - "begin": "\\[\\[", - "end": "\\]\\]", - "beginCaptures": { "0": { "name": "punctuation.section.attribute.begin.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.attribute.end.cpp" } }, - "name": "support.other.attribute.cpp", - "patterns": [ - { "include": "#attributes_context" }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { }, - "endCaptures": { }, - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#string_context" } - ] + "6": { + "name": "storage.type.modifier.final.cpp" }, - { - "match": "(using)(?:\\s)+((?|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.class.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "class_declare": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { + "name": "storage.type.class.declare.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\{)", - "end": "\\}", - "beginCaptures": { + "4": { + "name": "entity.name.type.class.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + "patterns": [ + { + "include": "#inline_comment" + } + ] }, "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { + "name": "comment.block.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "keyword.control.directive.import.cpp" }, - "5": { "name": "string.quoted.other.lt-gt.include.cpp" }, - "6": { "name": "punctuation.definition.string.begin.cpp" }, - "7": { "name": "punctuation.definition.string.end.cpp" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "10": { "name": "string.quoted.double.include.cpp" }, - "11": { "name": "punctuation.definition.string.begin.cpp" }, - "12": { "name": "punctuation.definition.string.end.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "15": { "name": "entity.name.other.preprocessor.macro.include.cpp" }, - "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "18": { "patterns": [ { "include": "#inline_comment" } ] }, - "19": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "20": { "patterns": [ { "include": "#inline_comment" } ] }, - "21": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "22": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.preprocessor.import.cpp" - }, - "d9bc4796b0b_preprocessor_number_literal": { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "12": { + "name": "variable.other.object.declare.cpp" + }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp" } + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "comma": { + "match": ",", + "name": "punctuation.separator.delimiter.comma.cpp" + }, + "comma_in_template_argument": { + "match": ",", + "name": "punctuation.separator.delimiter.comma.template.argument.cpp" + }, + "comments": { + "patterns": [ + { + "begin": "^(?:(?:\\s)+)?+(\\/\\/[!\\/]+)", + "end": "(?<=\\n)(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp" } + "2": { + "name": "markup.italic.doxygen.cpp" + } + } }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp" } }, - "contentName": "meta.arguments.decltype", - "patterns": [ { "include": "#evaluation_context" } ] - }, - "default_statement": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(~(?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { "name": "comment.block.cpp" }, - "8": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "2": { + "name": "markup.inline.raw.string.cpp" + } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - "9": { "name": "storage.type.modifier.calling-convention.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "12": { "name": "comment.block.cpp" }, - "13": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "2": { + "patterns": [ + { + "match": "in|out", + "name": "keyword.other.parameter.direction.$0.cpp" + } + ] }, - "14": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "17": { "name": "comment.block.cpp" }, - "18": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "19": { "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" } - }, - "endCaptures": { }, - "name": "meta.function.definition.special.member.destructor.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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" }, - { - "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", - "captures": { - "1": { "name": "keyword.operator.assignment.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "keyword.other.default.constructor.cpp" }, - "7": { "name": "keyword.other.delete.constructor.cpp" } - } - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { "0": { "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" } }, - "contentName": "meta.function.definition.parameters.special.member.destructor", - "patterns": [ ] - }, - { - "match": "((?:(?:final)|(?:override)))+", - "captures": { "1": { "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp" } } - }, - { "include": "$self" } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.special.member.destructor.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "destructor_root": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))~\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())", - "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { + "name": "variable.parameter.cpp" + } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", + "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" + } + ] + }, + { + "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)", + "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" }, - "5": { "name": "storage.type.modifier.calling-convention.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" + }, + "2": { + "name": "markup.italic.doxygen.cpp" + } + } }, - "10": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", - "captures": { - "1": { "name": "keyword.operator.assignment.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "keyword.other.default.constructor.cpp" }, - "7": { "name": "keyword.other.delete.constructor.cpp" } - } - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { "0": { "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" } }, - "contentName": "meta.function.definition.parameters.special.member.destructor", - "patterns": [ ] - }, - { - "match": "((?:(?:final)|(?:override)))+", - "captures": { "1": { "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp" } } - }, - { "include": "$self" } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.special.member.destructor.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "diagnostic": { - "begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?", - "end": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.enum.cpp" }, - "1": { "name": "storage.type.enum.cpp" }, - "2": { "name": "storage.type.enum.enum-key.$2.cpp" }, - "3": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "4": { "name": "entity.name.type.enum.cpp" }, - "5": { "name": "punctuation.separator.colon.type-specifier.cpp" }, - "6": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, - "7": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, - "8": { "patterns": [ { "include": "#template_call_range" } ] }, - "9": { }, - "10": { "name": "entity.name.scope-resolution.cpp" }, - "11": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "12": { }, - "13": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, - "14": { "name": "storage.type.integral.$14.cpp" } - }, - "endCaptures": { - "1": { "name": "punctuation.terminator.statement.cpp" }, - "2": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.block.enum.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.enum.cpp" } }, - "name": "meta.head.enum.cpp", - "patterns": [ { "include": "$self" } ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.enum.cpp" } }, - "name": "meta.body.enum.cpp", - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#enumerator_list" }, - { "include": "#comments" }, - { "include": "#comma" }, - { "include": "#semicolon" } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.enum.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "enum_declare": { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { "name": "storage.type.enum.declare.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "match": "in|out", + "name": "keyword.other.parameter.direction.$0.cpp" } - ] + ] + }, + "3": { + "name": "variable.parameter.cpp" + } + } }, - "4": { "name": "entity.name.type.enum.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { "name": "variable.other.object.declare.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "(?:\\b[A-Z]+:|@[a-z_]+:)", + "name": "storage.type.class.gtkdoc.cpp" } + ] + }, + "3": { + "name": "punctuation.definition.comment.end.documentation.cpp" } + }, + "name": "comment.block.documentation.cpp" }, - "enumerator_list": { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { "name": "keyword.control.exception.$3.cpp" } + { + "begin": "(?:(?:\\s)+)?+\\/\\*[!*]+(?:(?:(?:\\n)|$)|(?=\\s))", + "end": "[!*]*\\*\\/", + "beginCaptures": { + "0": { + "name": "punctuation.definition.comment.begin.documentation.cpp" } - }, - "extern_block": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(extern)(?=\\s*\\\")", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.extern.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { "name": "storage.type.extern.cpp" } - }, - "endCaptures": { - "1": { "name": "punctuation.terminator.statement.cpp" }, - "2": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.block.extern.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.extern.cpp" } }, - "name": "meta.head.extern.cpp", - "patterns": [ { "include": "$self" } ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.extern.cpp" } }, - "name": "meta.body.extern.cpp", - "patterns": [ { "include": "$self" } ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.extern.cpp", - "patterns": [ { "include": "$self" } ] - }, - { "include": "$self" } - ] - }, - "function_body_context": { - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#using_namespace" }, - { "include": "#type_alias" }, - { "include": "#using_name" }, - { "include": "#namespace_alias" }, - { "include": "#typedef_class" }, - { "include": "#typedef_struct" }, - { "include": "#typedef_union" }, - { "include": "#misc_keywords" }, - { "include": "#standard_declares" }, - { "include": "#class_block" }, - { "include": "#struct_block" }, - { "include": "#union_block" }, - { "include": "#enum_block" }, - { "include": "#access_control_keywords" }, - { "include": "#block" }, - { "include": "#static_assert" }, - { "include": "#assembly" }, - { "include": "#function_pointer" }, - { "include": "#switch_statement" }, - { "include": "#goto_statement" }, - { "include": "#evaluation_context" }, - { "include": "#label" } - ] - }, - "function_call": { - "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.function.call.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "11": { }, - "12": { "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" } }, - "patterns": [ { "include": "#evaluation_context" } ] - }, - "function_definition": { - "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\()", - "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { "name": "storage.type.template.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + }, + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { "name": "storage.modifier.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "markup.italic.doxygen.cpp" + } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - "12": { "name": "storage.modifier.$12.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "15": { "name": "comment.block.cpp" }, - "16": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "2": { + "name": "markup.bold.doxygen.cpp" + } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - "17": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + "2": { + "name": "markup.inline.raw.string.cpp" + } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - "18": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "21": { "name": "comment.block.cpp" }, - "22": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "2": { + "patterns": [ + { + "match": "in|out", + "name": "keyword.other.parameter.direction.$0.cpp" + } + ] }, - "23": { "patterns": [ { "include": "#inline_comment" } ] }, - "24": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "25": { "name": "comment.block.cpp" }, - "26": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { + "name": "variable.parameter.cpp" + } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" + }, + { + "match": "(?:\\b[A-Z]+:|@[a-z_]+:)", + "name": "storage.type.class.gtkdoc.cpp" + } + ] + }, + { + "include": "#emacs_file_banner" + }, + { + "include": "#block_comment" + }, + { + "include": "#line_comment" + }, + { + "include": "#invalid_comment_end" + } + ] + }, + "constructor_inline": { + "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.constructor.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "patterns": [ + { + "include": "#functional_specifiers_pre_parameters" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "12": { + "name": "comment.block.cpp" + }, + "13": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "14": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "17": { + "name": "comment.block.cpp" + }, + "18": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "19": { + "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.function.definition.special.constructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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" + }, + { + "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "captures": { + "1": { + "name": "keyword.operator.assignment.cpp" }, - "27": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "36": { "patterns": [ { "include": "#inline_comment" } ] }, - "37": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "38": { "name": "comment.block.cpp" }, - "39": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "4": { + "name": "comment.block.cpp" }, - "40": { "patterns": [ { "include": "#inline_comment" } ] }, - "41": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "42": { "name": "comment.block.cpp" }, - "43": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "44": { "patterns": [ { "include": "#inline_comment" } ] }, - "45": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "46": { "name": "comment.block.cpp" }, - "47": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "6": { + "name": "keyword.other.default.constructor.cpp" }, - "48": { "patterns": [ { "include": "#inline_comment" } ] }, - "49": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "50": { "name": "comment.block.cpp" }, - "51": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, + "7": { + "name": "keyword.other.delete.constructor.cpp" + } + } + }, + { + "include": "#functional_specifiers_pre_parameters" + }, + { + "begin": ":", + "end": "(?=\\{)", + "beginCaptures": { + "0": { + "name": "punctuation.separator.initializers.cpp" + } + }, + "endCaptures": { + }, + "patterns": [ + { + "begin": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "entity.name.function.call.initializer.cpp" + }, + "2": { + "name": "meta.template.call.cpp", + "patterns": [ { - "match": "\\*", - "name": "comment.block.cpp" + "include": "#template_call_range" } - ] + ] + }, + "3": { + }, + "4": { + "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" + } + }, + "contentName": "meta.parameter.initialization", + "patterns": [ + { + "include": "#evaluation_context" + } + ] }, - "52": { "name": "storage.type.modifier.calling-convention.cpp" }, - "53": { "patterns": [ { "include": "#inline_comment" } ] }, - "54": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "55": { "name": "comment.block.cpp" }, - "56": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "begin": "((?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)?(?![\\w<:.]))", - "captures": { - "1": { "name": "punctuation.definition.function.return-type.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "7": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "10": { "name": "comment.block.cpp" }, - "11": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "comment.block.cpp" }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "16": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|\\?\\?>", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.function.definition.cpp" } }, - "name": "meta.body.function.definition.cpp", - "patterns": [ { "include": "#function_body_context" } ] + "include": "#comments" + } + ] + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp" + } + }, + "contentName": "meta.function.definition.parameters.special.constructor", + "patterns": [ + { + "include": "#function_parameter_context" }, { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.cpp", - "patterns": [ { "include": "$self" } ] + "include": "#evaluation_context" + } + ] + }, + { + "match": "((?:(?:final)|(?:override)))+", + "captures": { + "1": { + "name": "keyword.operator.$1.cpp" } - ] + } + }, + { + "include": "$self" + } + ] }, - "function_parameter_context": { - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#string_context" }, - { "include": "#parameter" }, - { "include": "#comma" } - ] + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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" + } + ] }, - "function_pointer": { - "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "20": { "patterns": [ { "include": "#inline_comment" } ] }, - "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "22": { "name": "comment.block.cpp" }, - "23": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "24": { "patterns": [ { "include": "#inline_comment" } ] }, - "25": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "26": { "name": "comment.block.cpp" }, - "27": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "28": { "patterns": [ { "include": "#inline_comment" } ] }, - "29": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "30": { "name": "comment.block.cpp" }, - "31": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" } - }, - "endCaptures": { - "1": { "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.constructor.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "constructor_root": { + "begin": "\\s*+((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())", + "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.constructor.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { + "24": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "25": { + "name": "comment.block.cpp" + }, + "26": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { + }, + "name": "meta.function.definition.special.constructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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" + }, + { + "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "captures": { "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + "name": "keyword.operator.assignment.cpp" }, "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - "11": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "4": { + "name": "comment.block.cpp" }, - "20": { "patterns": [ { "include": "#inline_comment" } ] }, - "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "22": { "name": "comment.block.cpp" }, - "23": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "24": { "patterns": [ { "include": "#inline_comment" } ] }, - "25": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "26": { "name": "comment.block.cpp" }, - "27": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "6": { + "name": "keyword.other.default.constructor.cpp" }, - "28": { "patterns": [ { "include": "#inline_comment" } ] }, - "29": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "30": { "name": "comment.block.cpp" }, - "31": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" } - }, - "endCaptures": { - "1": { "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "7": { + "name": "keyword.other.delete.constructor.cpp" } + } }, - "patterns": [ { "include": "#function_parameter_context" } ] - }, - "functional_specifiers_pre_parameters": { - "match": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "entity.name.function.call.initializer.cpp" + }, + "2": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "3": { + }, + "4": { + "name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" + } + }, + "contentName": "meta.parameter.initialization", + "patterns": [ + { + "include": "#evaluation_context" + } + ] }, { - "match": "(using)(?:\\s)+((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)", - "captures": { - "1": { "name": "keyword.control.goto.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { "name": "entity.name.label.call.cpp" } + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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" + } + ] }, - "identifier": { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*" + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.constructor.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "control_flow_keywords": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((#)(?:(?:\\s)+)?((?:include|include_next))\\b)(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { "name": "keyword.control.directive.$5.cpp" }, - "4": { "name": "punctuation.definition.directive.cpp" }, - "6": { "name": "string.quoted.other.lt-gt.include.cpp" }, - "7": { "name": "punctuation.definition.string.begin.cpp" }, - "8": { "name": "punctuation.definition.string.end.cpp" }, - "9": { "patterns": [ { "include": "#inline_comment" } ] }, - "10": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "11": { "name": "string.quoted.double.include.cpp" }, - "12": { "name": "punctuation.definition.string.begin.cpp" }, - "13": { "name": "punctuation.definition.string.end.cpp" }, - "14": { "patterns": [ { "include": "#inline_comment" } ] }, - "15": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "16": { "name": "entity.name.other.preprocessor.macro.include.cpp" }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "21": { "patterns": [ { "include": "#inline_comment" } ] }, - "22": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } + } + } + ] + }, + "3": { + "name": "keyword.control.$3.cpp" + } + } + }, + "cpp_attributes": { + "begin": "\\[\\[", + "end": "\\]\\]", + "beginCaptures": { + "0": { + "name": "punctuation.section.attribute.begin.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.attribute.end.cpp" + } + }, + "name": "support.other.attribute.cpp", + "patterns": [ + { + "include": "#attributes_context" + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + }, + "endCaptures": { + }, + "patterns": [ + { + "include": "#attributes_context" }, - "name": "meta.preprocessor.include.cpp" + { + "include": "#string_context" + } + ] }, - "inheritance_context": { - "patterns": [ - { "include": "#ever_present_context" }, - { - "match": ",", - "name": "punctuation.separator.delimiter.comma.inheritance.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\{)", + "end": "\\}", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ { - "match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))", - "captures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { } + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" } + ] } - ] + } + } + ] }, - "inline_builtin_storage_type": { - "match": "(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } + } } + ] + }, + "10": { + "name": "string.quoted.double.include.cpp" + }, + "11": { + "name": "punctuation.definition.string.begin.cpp" }, - "invalid_comment_end": { - "match": "\\*\\/", - "name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp" + "12": { + "name": "punctuation.definition.string.end.cpp" }, - "label": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:)", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "name": "comment.block.cpp" }, - "3": { "name": "entity.name.label.cpp" }, - "4": { "patterns": [ { "include": "#inline_comment" } ] }, - "5": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "6": { "name": "punctuation.separator.label.cpp" } - } - }, - "lambdas": { - "begin": "(?:(?<=[^\\s]|^)(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))[\\[\\];]))", - "end": "(?<=[;}])", - "beginCaptures": { - "1": { "name": "punctuation.definition.capture.begin.lambda.cpp" }, - "2": { - "name": "meta.lambda.capture.cpp", - "patterns": [ - { "include": "#the_this_keyword" }, - { - "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", - "captures": { - "1": { "name": "variable.parameter.capture.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "punctuation.separator.delimiter.comma.cpp" }, - "7": { "name": "keyword.operator.assignment.cpp" } - } - }, - { "include": "#evaluation_context" } - ] - }, - "3": { }, - "4": { "name": "punctuation.definition.capture.end.lambda.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { "name": "comment.block.cpp" }, - "8": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } - }, - "endCaptures": { }, - "patterns": [ - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { "0": { "name": "punctuation.definition.parameters.begin.lambda.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.definition.parameters.end.lambda.cpp" } }, - "name": "meta.function.definition.parameters.lambda.cpp", - "patterns": [ { "include": "#function_parameter_context" } ] + } + } + ] + }, + "15": { + "name": "entity.name.other.preprocessor.macro.include.cpp" + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "match": "(?)((?:.+?(?=\\{|$))?)", - "captures": { - "1": { "name": "punctuation.definition.lambda.return-type.cpp" }, - "2": { "name": "storage.type.return-type.lambda.cpp" } + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" } + ] + } + } + } + ] + }, + "18": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "19": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "begin": "\\{", - "end": "\\}", - "beginCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.lambda.cpp" } }, - "name": "meta.function.definition.body.lambda.cpp", - "patterns": [ { "include": "$self" } ] + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } - ] + } + } + ] }, - "language_constants": { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b", - "end": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "22": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.preprocessor.import.cpp" + }, + "d9bc4796b0b_preprocessor_number_literal": { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?define\\b)(?:(?:\\s)+)?((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|suseconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|useconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_addr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_port_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|blksize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|unsigned[^Pattern.new(\n match: \\/\\w\\/,\n)]|blkcnt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|swblk_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|wchar_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_short[^Pattern.new(\n match: \\/\\w\\/,\n)]|qaddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|caddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|daddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|fixpt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|nlink_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|segsz_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|clock_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ssize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|mode_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_long[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_char[^Pattern.new(\n match: \\/\\w\\/,\n)]|double[^Pattern.new(\n match: \\/\\w\\/,\n)]|signed[^Pattern.new(\n match: \\/\\w\\/,\n)]|time_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|size_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|key_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|div_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ino_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|gid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|off_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|pid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|float[^Pattern.new(\n match: \\/\\w\\/,\n)]|dev_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_int[^Pattern.new(\n match: \\/\\w\\/,\n)]|short[^Pattern.new(\n match: \\/\\w\\/,\n)]|bool[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint[^Pattern.new(\n match: \\/\\w\\/,\n)]|long[^Pattern.new(\n match: \\/\\w\\/,\n)]|char[^Pattern.new(\n match: \\/\\w\\/,\n)]|void[^Pattern.new(\n match: \\/\\w\\/,\n)]|auto[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int[^Pattern.new(\n match: \\/\\w\\/,\n)])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { "name": "variable.language.this.cpp" }, - "4": { "name": "variable.other.object.access.cpp" }, - "5": { "name": "punctuation.separator.dot-access.cpp" }, - "6": { "name": "punctuation.separator.pointer-access.cpp" }, - "7": { - "patterns": [ - { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" } - } - }, - { "include": "#member_access" }, - { "include": "#method_access" } - ] - }, - "8": { "name": "variable.other.property.cpp" } - } - }, - "memory_operators": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", + "name": "punctuation.separator.constant.numeric.cpp" } - ] - }, - "3": { "name": "keyword.operator.wordlike.cpp" }, - "4": { "name": "keyword.operator.delete.array.cpp" }, - "5": { "name": "keyword.operator.delete.array.bracket.cpp" }, - "6": { "name": "keyword.operator.delete.cpp" }, - "7": { "name": "keyword.operator.new.cpp" } - } - }, - "method_access": { - "begin": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, + ] + }, + "2": { + "name": "punctuation.separator.constant.numeric.cpp" + }, + "3": { + "name": "constant.numeric.decimal.point.cpp" + }, + "4": { + "name": "constant.numeric.decimal.cpp", + "patterns": [ { - "match": "\\*", - "name": "comment.block.cpp" + "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", + "name": "punctuation.separator.constant.numeric.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": [ - { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" } - } - }, + ] + }, + "5": { + "name": "punctuation.separator.constant.numeric.cpp" + }, + "6": { + "name": "keyword.other.unit.exponent.decimal.cpp" + }, + "7": { + "name": "keyword.operator.plus.exponent.decimal.cpp" + }, + "8": { + "name": "keyword.operator.minus.exponent.decimal.cpp" + }, + "9": { + "name": "constant.numeric.exponent.decimal.cpp", + "patterns": [ { - "match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" } - } - }, - { "include": "#member_access" }, - { "include": "#method_access" } - ] - }, - "10": { "name": "entity.name.function.member.cpp" }, - "11": { "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp" } }, - "patterns": [ { "include": "#evaluation_context" } ] - }, - "misc_keywords": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", + "name": "punctuation.separator.constant.numeric.cpp" } - ] - }, - "3": { "name": "keyword.other.$3.cpp" } - } - }, - "ms_attributes": { - "begin": "__declspec\\(", - "end": "\\)", - "beginCaptures": { "0": { "name": "punctuation.section.attribute.begin.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.attribute.end.cpp" } }, - "name": "support.other.attribute.cpp", - "patterns": [ - { "include": "#attributes_context" }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { }, - "endCaptures": { }, - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#string_context" } - ] - }, - { - "match": "(using)(?:\\s)+((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<8>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.namespace.cpp" }, - "1": { "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" } - }, - "endCaptures": { }, - "name": "meta.block.namespace.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp" } }, - "name": "meta.head.namespace.cpp", - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#attributes_context" }, + "match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$", + "captures": { + "1": { + "name": "keyword.other.unit.binary.cpp" + }, + "2": { + "name": "constant.numeric.binary.cpp", + "patterns": [ { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<4>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.namespace.cpp" } }, - "name": "meta.body.namespace.cpp", - "patterns": [ { "include": "$self" } ] + ] + }, + "3": { + "name": "punctuation.separator.constant.numeric.cpp" + }, + "4": { + "name": "keyword.other.unit.suffix.integer.cpp" + } + } }, { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.namespace.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "noexcept_operator": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, + "match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$", + "captures": { + "1": { + "name": "keyword.other.unit.octal.cpp" + }, + "2": { + "name": "constant.numeric.octal.cpp", + "patterns": [ { - "match": "\\*", - "name": "comment.block.cpp" + "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", + "name": "punctuation.separator.constant.numeric.cpp" } - ] + ] + }, + "3": { + "name": "punctuation.separator.constant.numeric.cpp" + }, + "4": { + "name": "keyword.other.unit.suffix.integer.cpp" + } + } }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" } }, - "contentName": "meta.arguments.operator.noexcept", - "patterns": [ { "include": "#evaluation_context" } ] - }, - "number_literal": { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\<|\\()", - "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.special.operator-overload.cpp" }, - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, + ] + }, + "3": { + "name": "punctuation.separator.constant.numeric.cpp" + }, + "4": { + "name": "keyword.other.unit.exponent.hexadecimal.cpp" + }, + "5": { + "name": "keyword.operator.plus.exponent.hexadecimal.cpp" + }, + "6": { + "name": "keyword.operator.minus.exponent.hexadecimal.cpp" + }, + "7": { + "name": "constant.numeric.exponent.hexadecimal.cpp", + "patterns": [ { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" + "match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])", + "name": "punctuation.separator.constant.numeric.cpp" } - ] - }, - "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + ] + }, + "8": { + "name": "keyword.other.unit.suffix.integer.cpp" + } + } }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, + { + "match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp" + } + }, + "contentName": "meta.arguments.decltype", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "decltype_specifier": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.decltype.cpp" + } + }, + "contentName": "meta.arguments.decltype", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "default_statement": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(~(?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.member.destructor.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "7": { + "name": "comment.block.cpp" + }, + "8": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "9": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "12": { + "name": "comment.block.cpp" + }, + "13": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "14": { + "patterns": [ + { + "include": "#functional_specifiers_pre_parameters" + } + ] + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "17": { + "name": "comment.block.cpp" + }, + "18": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "19": { + "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.function.definition.special.member.destructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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" + }, + { + "match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "captures": { + "1": { + "name": "keyword.operator.assignment.cpp" }, - "18": { }, - "19": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - "20": { "patterns": [ { "include": "#inline_comment" } ] }, - "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "22": { "name": "comment.block.cpp" }, - "23": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "24": { "patterns": [ { "include": "#inline_comment" } ] }, - "25": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "26": { "name": "comment.block.cpp" }, - "27": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "4": { + "name": "comment.block.cpp" }, - "28": { "patterns": [ { "include": "#inline_comment" } ] }, - "29": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "30": { "name": "comment.block.cpp" }, - "31": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "32": { "patterns": [ { "include": "#inline_comment" } ] }, - "33": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "34": { "name": "comment.block.cpp" }, - "35": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "6": { + "name": "keyword.other.default.constructor.cpp" }, - "36": { "name": "storage.type.modifier.calling-convention.cpp" }, - "37": { "patterns": [ { "include": "#inline_comment" } ] }, - "38": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "39": { "name": "comment.block.cpp" }, - "40": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "7": { + "name": "keyword.other.delete.constructor.cpp" + } + } + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" + } + }, + "contentName": "meta.function.definition.parameters.special.member.destructor", + "patterns": [ + + ] + }, + { + "match": "((?:(?:final)|(?:override)))+", + "captures": { + "1": { + "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp" + } + } + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.member.destructor.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "destructor_root": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))~\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())", + "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.member.destructor.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "captures": { + "1": { + "name": "keyword.operator.assignment.cpp" }, - "41": { "patterns": [ { "include": "#inline_comment" } ] }, - "42": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "43": { "name": "comment.block.cpp" }, - "44": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - "45": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "entity.name.operator.type.reference.cpp" - } - ] + "4": { + "name": "comment.block.cpp" }, - "59": { "patterns": [ { "include": "#inline_comment" } ] }, - "60": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "61": { "name": "comment.block.cpp" }, - "62": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "63": { "patterns": [ { "include": "#inline_comment" } ] }, - "64": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "65": { "name": "comment.block.cpp" }, - "66": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "6": { + "name": "keyword.other.default.constructor.cpp" }, - "67": { "patterns": [ { "include": "#inline_comment" } ] }, - "68": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "69": { "name": "comment.block.cpp" }, - "70": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "7": { + "name": "keyword.other.delete.constructor.cpp" + } + } + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" + } + }, + "contentName": "meta.function.definition.parameters.special.member.destructor", + "patterns": [ + + ] + }, + { + "match": "((?:(?:final)|(?:override)))+", + "captures": { + "1": { + "name": "keyword.operator.wordlike.cpp keyword.operator.$1.cpp" + } + } + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.member.destructor.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "diagnostic": { + "begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?", + "end": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.enum.cpp" + }, + "1": { + "name": "storage.type.enum.cpp" + }, + "2": { + "name": "storage.type.enum.enum-key.$2.cpp" + }, + "3": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "4": { + "name": "entity.name.type.enum.cpp" + }, + "5": { + "name": "punctuation.separator.colon.type-specifier.cpp" + }, + "6": { + "patterns": [ + { + "include": "#scope_resolution_inner_generated" + } + ] + }, + "7": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + "8": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "9": { + }, + "10": { + "name": "entity.name.scope-resolution.cpp" + }, + "11": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "12": { + }, + "13": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + "14": { + "name": "storage.type.integral.$14.cpp" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.terminator.statement.cpp" + }, + "2": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.block.enum.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.enum.cpp" + } + }, + "name": "meta.head.enum.cpp", + "patterns": [ + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.enum.cpp" + } + }, + "name": "meta.body.enum.cpp", + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#enumerator_list" + }, + { + "include": "#comments" + }, + { + "include": "#comma" + }, + { + "include": "#semicolon" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.enum.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "enum_declare": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { + "name": "storage.type.enum.declare.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "71": { "name": "entity.name.operator.type.array.cpp" }, - "72": { "name": "entity.name.operator.custom-literal.cpp" }, - "73": { "patterns": [ { "include": "#inline_comment" } ] }, - "74": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "75": { "name": "comment.block.cpp" }, - "76": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "2": { + "name": "comment.block.cpp" }, - "77": { "name": "entity.name.operator.custom-literal.cpp" }, - "78": { "patterns": [ { "include": "#inline_comment" } ] }, - "79": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "80": { "name": "comment.block.cpp" }, - "81": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "endCaptures": { }, - "name": "meta.function.definition.special.operator-overload.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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": "\\(", - "end": "\\)", - "beginCaptures": { "0": { "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp" } }, - "contentName": "meta.function.definition.parameters.special.operator-overload", - "patterns": [ - { "include": "#function_parameter_context" }, - { "include": "#evaluation_context" } - ] - }, - { "include": "#qualifiers_and_specifiers_post_parameters" }, - { "include": "$self" } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.special.operator-overload.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "operators": { - "patterns": [ - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" } }, - "contentName": "meta.arguments.operator.sizeof", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" } }, - "contentName": "meta.arguments.operator.alignof", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" } }, - "contentName": "meta.arguments.operator.alignas", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" } }, - "contentName": "meta.arguments.operator.typeid", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" } }, - "contentName": "meta.arguments.operator.noexcept", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" } + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" } }, - "contentName": "meta.arguments.operator.sizeof.variadic", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "match": "--", - "name": "keyword.operator.decrement.cpp" + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.enum.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - { - "match": "\\+\\+", - "name": "keyword.operator.increment.cpp" + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "match": "%=|\\+=|-=|\\*=|(?>=|\\|=", - "name": "keyword.operator.assignment.compound.bitwise.cpp" + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "match": "<<|>>", - "name": "keyword.operator.bitwise.shift.cpp" + "2": { + "name": "comment.block.cpp" }, - { - "match": "!=|<=|>=|==|<|>", - "name": "keyword.operator.comparison.cpp" + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "match": "&&|!|\\|\\|", - "name": "keyword.operator.logical.cpp" + "2": { + "name": "comment.block.cpp" }, - { - "match": "&|\\||\\^|~", - "name": "keyword.operator.cpp" + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { "include": "#assignment_operator" }, - { - "match": "%|\\*|\\/|-|\\+", - "name": "keyword.operator.cpp" + "2": { + "name": "comment.block.cpp" }, - { "include": "#ternary_operator" } - ] - }, - "over_qualified_types": { - "patterns": [ - { - "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { "name": "storage.type.struct.parameter.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { "name": "entity.name.type.struct.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { "name": "variable.other.object.declare.cpp" }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" } + ] + } + } + } + ] + }, + "12": { + "name": "variable.other.object.declare.cpp" + }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { "name": "storage.type.enum.parameter.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { "name": "entity.name.type.enum.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "enumerator_list": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "keyword.control.exception.$3.cpp" + } + } + }, + "extern_block": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(extern)(?=\\s*\\\")", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.extern.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "name": "storage.type.extern.cpp" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.terminator.statement.cpp" + }, + "2": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.block.extern.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.extern.cpp" + } + }, + "name": "meta.head.extern.cpp", + "patterns": [ + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.extern.cpp" + } + }, + "name": "meta.body.extern.cpp", + "patterns": [ + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.extern.cpp", + "patterns": [ + { + "include": "$self" + } + ] + }, + { + "include": "$self" + } + ] + }, + "function_body_context": { + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#using_namespace" + }, + { + "include": "#type_alias" + }, + { + "include": "#using_name" + }, + { + "include": "#namespace_alias" + }, + { + "include": "#typedef_class" + }, + { + "include": "#typedef_struct" + }, + { + "include": "#typedef_union" + }, + { + "include": "#misc_keywords" + }, + { + "include": "#standard_declares" + }, + { + "include": "#class_block" + }, + { + "include": "#struct_block" + }, + { + "include": "#union_block" + }, + { + "include": "#enum_block" + }, + { + "include": "#access_control_keywords" + }, + { + "include": "#block" + }, + { + "include": "#static_assert" + }, + { + "include": "#assembly" + }, + { + "include": "#function_pointer" + }, + { + "include": "#switch_statement" + }, + { + "include": "#goto_statement" + }, + { + "include": "#evaluation_context" + }, + { + "include": "#label" + } + ] + }, + "function_call": { + "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_call_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.function.call.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "11": { + }, + "12": { + "name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" + } + }, + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "function_definition": { + "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\()", + "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "name": "storage.type.template.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { + "name": "storage.modifier.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "name": "storage.modifier.$12.cpp" + }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "15": { + "name": "comment.block.cpp" + }, + "16": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "17": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "18": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "21": { + "name": "comment.block.cpp" + }, + "22": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "23": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "24": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "25": { + "name": "comment.block.cpp" + }, + "26": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "27": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "36": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "37": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "38": { + "name": "comment.block.cpp" + }, + "39": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "40": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "41": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "42": { + "name": "comment.block.cpp" + }, + "43": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "44": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "45": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "46": { + "name": "comment.block.cpp" + }, + "47": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "48": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "49": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "50": { + "name": "comment.block.cpp" + }, + "51": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "52": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "53": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "54": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "55": { + "name": "comment.block.cpp" + }, + "56": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "57": { + "patterns": [ + { + "include": "#scope_resolution_function_definition_inner_generated" + } + ] + }, + "58": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" + }, + "59": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "60": { + }, + "61": { + "name": "entity.name.function.definition.cpp" + }, + "62": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "63": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "64": { + "name": "comment.block.cpp" + }, + "65": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { + }, + "name": "meta.function.definition.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp" + } + }, + "name": "meta.head.function.definition.cpp", + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parameters.begin.bracket.round.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parameters.end.bracket.round.cpp" + } + }, + "contentName": "meta.function.definition.parameters", + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#parameter_or_maybe_value" + }, + { + "include": "#comma" + }, + { + "include": "#evaluation_context" + } + ] + }, + { + "match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)?(?![\\w<:.]))", + "captures": { + "1": { + "name": "punctuation.definition.function.return-type.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "10": { + "name": "comment.block.cpp" + }, + "11": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "14": { + "name": "comment.block.cpp" + }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "function_parameter_context": { + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#string_context" + }, + { + "include": "#parameter" + }, + { + "include": "#comma" + } + ] + }, + "function_pointer": { + "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "20": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "21": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "22": { + "name": "comment.block.cpp" + }, + "23": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "24": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "25": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "26": { + "name": "comment.block.cpp" + }, + "27": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "28": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "29": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "30": { + "name": "comment.block.cpp" + }, + "31": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "patterns": [ + { + "include": "#function_parameter_context" + } + ] + }, + "function_pointer_parameter": { + "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "20": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "21": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "22": { + "name": "comment.block.cpp" + }, + "23": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "24": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "25": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "26": { + "name": "comment.block.cpp" + }, + "27": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "28": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "29": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "30": { + "name": "comment.block.cpp" + }, + "31": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "patterns": [ + { + "include": "#function_parameter_context" + } + ] + }, + "functional_specifiers_pre_parameters": { + "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)", + "captures": { + "1": { + "name": "keyword.control.goto.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.label.call.cpp" + } + } + }, + "identifier": { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*" + }, + "include": { + "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((#)(?:(?:\\s)+)?((?:include|include_next))\\b)(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "keyword.control.directive.$5.cpp" + }, + "4": { + "name": "punctuation.definition.directive.cpp" + }, + "6": { + "name": "string.quoted.other.lt-gt.include.cpp" + }, + "7": { + "name": "punctuation.definition.string.begin.cpp" + }, + "8": { + "name": "punctuation.definition.string.end.cpp" + }, + "9": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "10": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "11": { + "name": "string.quoted.double.include.cpp" + }, + "12": { + "name": "punctuation.definition.string.begin.cpp" + }, + "13": { + "name": "punctuation.definition.string.end.cpp" + }, + "14": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "15": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "16": { + "name": "entity.name.other.preprocessor.macro.include.cpp" + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "21": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "22": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + }, + "name": "meta.preprocessor.include.cpp" + }, + "inheritance_context": { + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "match": ",", + "name": "punctuation.separator.delimiter.comma.inheritance.cpp" + }, + { + "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))", + "captures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + } + } + } + ] + }, + "inline_builtin_storage_type": { + "match": "(?:\\s)*+(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:)", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "entity.name.label.cpp" + }, + "4": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "5": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "6": { + "name": "punctuation.separator.label.cpp" + } + } + }, + "lambdas": { + "begin": "(?:(?<=[^\\s]|^)(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))[\\[\\];]))", + "end": "(?<=[;}])", + "beginCaptures": { + "1": { + "name": "punctuation.definition.capture.begin.lambda.cpp" + }, + "2": { + "name": "meta.lambda.capture.cpp", + "patterns": [ + { + "include": "#the_this_keyword" + }, + { + "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", + "captures": { + "1": { + "name": "variable.parameter.capture.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.separator.delimiter.comma.cpp" + }, + "7": { + "name": "keyword.operator.assignment.cpp" + } + } + }, + { + "include": "#evaluation_context" + } + ] + }, + "3": { + }, + "4": { + "name": "punctuation.definition.capture.end.lambda.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "7": { + "name": "comment.block.cpp" + }, + "8": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { + }, + "patterns": [ + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.definition.parameters.begin.lambda.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.parameters.end.lambda.cpp" + } + }, + "name": "meta.function.definition.parameters.lambda.cpp", + "patterns": [ + { + "include": "#function_parameter_context" + } + ] + }, + { + "match": "(?)((?:.+?(?=\\{|$))?)", + "captures": { + "1": { + "name": "punctuation.definition.lambda.return-type.cpp" + }, + "2": { + "name": "storage.type.return-type.lambda.cpp" + } + } + }, + { + "begin": "\\{", + "end": "\\}", + "beginCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.lambda.cpp" + } + }, + "name": "meta.function.definition.body.lambda.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "language_constants": { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b", + "end": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?define\\b)(?:(?:\\s)+)?((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|suseconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|useconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_addr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_port_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|blksize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|unsigned[^Pattern.new(\n match: \\/\\w\\/,\n)]|blkcnt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|swblk_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|wchar_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_short[^Pattern.new(\n match: \\/\\w\\/,\n)]|qaddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|caddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|daddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|fixpt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|nlink_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|segsz_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|clock_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ssize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|mode_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_long[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_char[^Pattern.new(\n match: \\/\\w\\/,\n)]|double[^Pattern.new(\n match: \\/\\w\\/,\n)]|signed[^Pattern.new(\n match: \\/\\w\\/,\n)]|time_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|size_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|key_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|div_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ino_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|gid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|off_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|pid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|float[^Pattern.new(\n match: \\/\\w\\/,\n)]|dev_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_int[^Pattern.new(\n match: \\/\\w\\/,\n)]|short[^Pattern.new(\n match: \\/\\w\\/,\n)]|bool[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint[^Pattern.new(\n match: \\/\\w\\/,\n)]|long[^Pattern.new(\n match: \\/\\w\\/,\n)]|char[^Pattern.new(\n match: \\/\\w\\/,\n)]|void[^Pattern.new(\n match: \\/\\w\\/,\n)]|auto[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int[^Pattern.new(\n match: \\/\\w\\/,\n)])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "variable.language.this.cpp" + }, + "4": { + "name": "variable.other.object.access.cpp" + }, + "5": { + "name": "punctuation.separator.dot-access.cpp" + }, + "6": { + "name": "punctuation.separator.pointer-access.cpp" + }, + "7": { + "patterns": [ + { + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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" + } + } + }, + { + "include": "#member_access" + }, + { + "include": "#method_access" + } + ] + }, + "8": { + "name": "variable.other.property.cpp" + } + } + }, + "memory_operators": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "keyword.operator.wordlike.cpp" + }, + "4": { + "name": "keyword.operator.delete.array.cpp" + }, + "5": { + "name": "keyword.operator.delete.array.bracket.cpp" + }, + "6": { + "name": "keyword.operator.delete.cpp" + }, + "7": { + "name": "keyword.operator.new.cpp" + } + } + }, + "method_access": { + "begin": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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": [ + { + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.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" + } + } + }, + { + "include": "#member_access" + }, + { + "include": "#method_access" + } + ] + }, + "10": { + "name": "entity.name.function.member.cpp" + }, + "11": { + "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp" + } + }, + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "misc_keywords": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "keyword.other.$3.cpp" + } + } + }, + "ms_attributes": { + "begin": "__declspec\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.attribute.begin.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.attribute.end.cpp" + } + }, + "name": "support.other.attribute.cpp", + "patterns": [ + { + "include": "#attributes_context" + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + }, + "endCaptures": { + }, + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#string_context" + } + ] + }, + { + "match": "(using)(?:\\s)+((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<8>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.namespace.cpp" + }, + "1": { + "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.block.namespace.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp" + } + }, + "name": "meta.head.namespace.cpp", + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#attributes_context" + }, + { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<4>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.namespace.cpp" + } + }, + "name": "meta.body.namespace.cpp", + "patterns": [ + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.namespace.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "noexcept_operator": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" + } + }, + "contentName": "meta.arguments.operator.noexcept", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "number_literal": { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\<|\\()", + "end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.operator-overload.cpp" + }, + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "20": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "21": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "22": { + "name": "comment.block.cpp" + }, + "23": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "24": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "25": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "26": { + "name": "comment.block.cpp" + }, + "27": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "28": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "29": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "30": { + "name": "comment.block.cpp" + }, + "31": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "32": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "33": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "34": { + "name": "comment.block.cpp" + }, + "35": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "36": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "37": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "38": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "39": { + "name": "comment.block.cpp" + }, + "40": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "41": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "42": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "43": { + "name": "comment.block.cpp" + }, + "44": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "45": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "entity.name.operator.type.reference.cpp" + } + ] + }, + "59": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "60": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "61": { + "name": "comment.block.cpp" + }, + "62": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "63": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "64": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "65": { + "name": "comment.block.cpp" + }, + "66": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "67": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "68": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "69": { + "name": "comment.block.cpp" + }, + "70": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "71": { + "name": "entity.name.operator.type.array.cpp" + }, + "72": { + "name": "entity.name.operator.custom-literal.cpp" + }, + "73": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "74": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "75": { + "name": "comment.block.cpp" + }, + "76": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "77": { + "name": "entity.name.operator.custom-literal.cpp" + }, + "78": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "79": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "80": { + "name": "comment.block.cpp" + }, + "81": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { + }, + "name": "meta.function.definition.special.operator-overload.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp" + } + }, + "contentName": "meta.function.definition.parameters.special.operator-overload", + "patterns": [ + { + "include": "#function_parameter_context" + }, + { + "include": "#evaluation_context" + } + ] + }, + { + "include": "#qualifiers_and_specifiers_post_parameters" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.operator-overload.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "operators": { + "patterns": [ + { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" + } + }, + "contentName": "meta.arguments.operator.sizeof", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp" + } + }, + "contentName": "meta.arguments.operator.alignof", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp" + } + }, + "contentName": "meta.arguments.operator.alignas", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" + } + }, + "contentName": "meta.arguments.operator.typeid", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" + } + }, + "contentName": "meta.arguments.operator.noexcept", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + { + "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" + } + }, + "contentName": "meta.arguments.operator.sizeof.variadic", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + { + "match": "--", + "name": "keyword.operator.decrement.cpp" + }, + { + "match": "\\+\\+", + "name": "keyword.operator.increment.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.cpp" + }, + { + "include": "#assignment_operator" + }, + { + "match": "%|\\*|\\/|-|\\+", + "name": "keyword.operator.cpp" + }, + { + "include": "#ternary_operator" + } + ] + }, + "over_qualified_types": { + "patterns": [ + { + "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { + "name": "storage.type.struct.parameter.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.struct.parameter.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { + "name": "variable.other.object.declare.cpp" + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + { + "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { + "name": "storage.type.enum.parameter.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.enum.parameter.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { + "name": "variable.other.object.declare.cpp" + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + { + "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { + "name": "storage.type.union.parameter.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.union.parameter.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { + "name": "variable.other.object.declare.cpp" + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + { + "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { + "name": "storage.type.class.parameter.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.class.parameter.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { + "name": "variable.other.object.declare.cpp" + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + } + ] + }, + "parameter": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)", + "end": "(?:(?=\\))|(,))", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { + "1": { + "name": "punctuation.separator.delimiter.comma.cpp" + } + }, + "name": "meta.parameter.cpp", + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#function_pointer_parameter" + }, + { + "include": "#decltype" + }, + { + "include": "#vararg_ellipses" + }, + { + "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)", + "captures": { + "1": { + "patterns": [ + { + "include": "#storage_types" + } + ] + }, + "2": { + "name": "storage.modifier.specifier.parameter.cpp" + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" + }, + "12": { + "name": "storage.type.cpp storage.type.built-in.cpp" + }, + "13": { + "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" + }, + "14": { + "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" + }, + "15": { + "name": "entity.name.type.parameter.cpp" + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "18": { + "name": "comment.block.cpp" + }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "include": "#storage_types" + }, + { + "include": "#scope_resolution_parameter_inner_generated" + }, + { + "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", + "name": "storage.type.$0.cpp" + }, + { + "begin": "(?<==)", + "end": "(?:(?=\\))|(,))", + "beginCaptures": { + }, + "endCaptures": { + "1": { + "name": "punctuation.separator.delimiter.comma.cpp" + } + }, + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + { + "match": "\\=", + "name": "keyword.operator.assignment.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\)|,|\\[|=|\\n)", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "name": "variable.parameter.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "include": "#attributes_context" + }, + { + "begin": "\\[", + "end": "\\]", + "beginCaptures": { + "0": { + "name": "punctuation.definition.begin.bracket.square.array.type.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.end.bracket.square.array.type.cpp" + } + }, + "name": "meta.bracket.square.array.cpp", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))", + "captures": { + "0": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "7": { + "name": "comment.block.cpp" + }, + "8": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "parameter_class": { + "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { + "name": "storage.type.class.parameter.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.class.parameter.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { + "name": "variable.other.object.declare.cpp" + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "parameter_enum": { + "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { + "name": "storage.type.enum.parameter.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.enum.parameter.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { + "name": "variable.other.object.declare.cpp" + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "parameter_or_maybe_value": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)", + "end": "(?:(?=\\))|(,))", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "endCaptures": { + "1": { + "name": "punctuation.separator.delimiter.comma.cpp" + } + }, + "name": "meta.parameter.cpp", + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#function_pointer_parameter" + }, + { + "include": "#memory_operators" + }, + { + "include": "#builtin_storage_type_initilizer" + }, + { + "include": "#curly_initializer" + }, + { + "include": "#decltype" + }, + { + "include": "#vararg_ellipses" + }, + { + "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)", + "captures": { + "1": { + "patterns": [ + { + "include": "#storage_types" + } + ] + }, + "2": { + "name": "storage.modifier.specifier.parameter.cpp" + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" + }, + "12": { + "name": "storage.type.cpp storage.type.built-in.cpp" + }, + "13": { + "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" + }, + "14": { + "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" + }, + "15": { + "name": "entity.name.type.parameter.cpp" + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "18": { + "name": "comment.block.cpp" + }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "include": "#storage_types" + }, + { + "include": "#function_call" + }, + { + "include": "#scope_resolution_parameter_inner_generated" + }, + { + "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", + "name": "storage.type.$0.cpp" + }, + { + "begin": "(?<==)", + "end": "(?:(?=\\))|(,))", + "beginCaptures": { + }, + "endCaptures": { + "1": { + "name": "punctuation.separator.delimiter.comma.cpp" + } + }, + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=(?:\\)|,|\\[|=|\\/\\/|(?:(?:\\n)|$)))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "name": "variable.parameter.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "include": "#attributes_context" + }, + { + "begin": "\\[", + "end": "\\]", + "beginCaptures": { + "0": { + "name": "punctuation.definition.begin.bracket.square.array.type.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.end.bracket.square.array.type.cpp" + } + }, + "name": "meta.bracket.square.array.cpp", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))", + "captures": { + "0": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "7": { + "name": "comment.block.cpp" + }, + "8": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "include": "#evaluation_context" + } + ] + }, + "parameter_struct": { + "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { + "name": "storage.type.struct.parameter.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.struct.parameter.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { + "name": "variable.other.object.declare.cpp" + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "parameter_union": { + "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", + "captures": { + "1": { + "name": "storage.type.union.parameter.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.union.parameter.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "14": { + "name": "variable.other.object.declare.cpp" + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "parentheses": { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parens.begin.bracket.round.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.bracket.round.cpp" + } + }, + "name": "meta.parens.cpp", + "patterns": [ + { + "include": "#over_qualified_types" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma\\b", + "end": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma(?:\\s)+mark)(?:\\s)+(.*)", + "captures": { + "1": { + "name": "keyword.control.directive.pragma.pragma-mark.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "punctuation.definition.directive.cpp" + }, + "5": { + "name": "entity.name.tag.pragma-mark.cpp" + } + }, + "name": "meta.preprocessor.pragma.cpp" + }, + "predefined_macros": { + "patterns": [ + { + "match": "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b", + "captures": { + "1": { + "name": "entity.name.other.preprocessor.macro.predefined.$1.cpp" + } + } + }, + { + "match": "\\b__([A-Z_]+)__\\b", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp" + } + ] + }, + "preprocessor_conditional_context": { + "patterns": [ + { + "include": "#preprocessor_conditional_defined" + }, + { + "include": "#comments" + }, + { + "include": "#language_constants" + }, + { + "include": "#string_context" + }, + { + "include": "#d9bc4796b0b_preprocessor_number_literal" + }, + { + "include": "#operators" + }, + { + "include": "#predefined_macros" + }, + { + "include": "#macro_name" + }, + { + "include": "#line_continuation_character" + } + ] + }, + "preprocessor_conditional_defined": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:(?:ifndef|ifdef)|if))", + "end": "^(?!\\s*+#\\s*(?:else|endif))", + "beginCaptures": { + "0": { + "name": "keyword.control.directive.conditional.$6.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "name": "punctuation.definition.directive.cpp" + }, + "6": { + } + }, + "endCaptures": { + }, + "patterns": [ + { + "begin": "\\G(?<=ifndef|ifdef|if)", + "end": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "punctuation.definition.directive.cpp" + } + }, + "name": "keyword.control.directive.$4.cpp" + }, + "preprocessor_context": { + "patterns": [ + { + "include": "#pragma_mark" + }, + { + "include": "#pragma" + }, + { + "include": "#include" + }, + { + "include": "#line" + }, + { + "include": "#diagnostic" + }, + { + "include": "#undef" + }, + { + "include": "#preprocessor_conditional_range" + }, + { + "include": "#single_line_macro" + }, + { + "include": "#macro" + }, + { + "include": "#preprocessor_conditional_standalone" + }, + { + "include": "#macro_argument" + } + ] + }, + "qualified_type": { + "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)?(?![\\w<:.])", + "captures": { + "0": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "1": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "5": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "6": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + }, + "name": "meta.qualified_type.cpp" + }, + "qualifiers_and_specifiers_post_parameters": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "storage.modifier.specifier.functional.post-parameters.$3.cpp" + }, + "4": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "5": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "scope_resolution": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_function_call": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_function_call_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_function_call_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_call_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.function.call.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + } + } + }, + "scope_resolution_function_definition": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_function_definition_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_function_definition_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_definition_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.function.definition.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" + } + } + }, + "scope_resolution_function_definition_operator_overload": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_function_definition_operator_overload_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_function_definition_operator_overload_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_definition_operator_overload_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" + } + } + }, + "scope_resolution_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + } + } + }, + "scope_resolution_namespace_alias": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_namespace_alias_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_namespace_alias_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_namespace_alias_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.namespace.alias.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" + } + } + }, + "scope_resolution_namespace_block": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_namespace_block_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_namespace_block_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_namespace_block_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.namespace.block.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" + } + } + }, + "scope_resolution_namespace_using": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_namespace_using_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_namespace_using_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_namespace_using_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.namespace.using.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" + } + } + }, + "scope_resolution_parameter": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_parameter_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_parameter_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_parameter_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.parameter.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" + } + } + }, + "scope_resolution_template_call": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_template_call_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_template_call_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_template_call_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.template.call.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" + } + } + }, + "scope_resolution_template_definition": { + "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_template_definition_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_template_definition_inner_generated": { + "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_template_definition_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.template.definition.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" + } + } + }, + "semicolon": { + "match": ";", + "name": "punctuation.terminator.statement.cpp" + }, + "simple_type": { + "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", + "captures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + }, + "13": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "14": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "15": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "single_line_macro": { + "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))#define.*(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "sizeof_operator": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" + } + }, + "contentName": "meta.arguments.operator.sizeof", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "sizeof_variadic_operator": { + "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" + } + }, + "contentName": "meta.arguments.operator.sizeof.variadic", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "square_brackets": { + "name": "meta.bracket.square.access", + "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])", + "beginCaptures": { + "1": { + "name": "variable.other.object" + }, + "2": { + "name": "punctuation.definition.begin.bracket.square" + } + }, + "end": "\\]", + "endCaptures": { + "0": { + "name": "punctuation.definition.end.bracket.square" + } + }, + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "standard_declares": { + "patterns": [ + { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { + "name": "storage.type.struct.declare.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.struct.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "14": { "name": "variable.other.object.declare.cpp" }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "name": "variable.other.object.declare.cpp" + }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { + "name": "storage.type.union.declare.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.union.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "name": "variable.other.object.declare.cpp" + }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { + "name": "storage.type.enum.declare.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.enum.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "name": "variable.other.object.declare.cpp" + }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { + "name": "storage.type.class.declare.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" } + ] } + } + } + ] + }, + "4": { + "name": "entity.name.type.class.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" }, { - "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { "name": "storage.type.union.parameter.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { "name": "entity.name.type.union.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { "name": "variable.other.object.declare.cpp" }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" } + ] } + }, + "name": "invalid.illegal.reference-type.cpp" }, { - "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { "name": "storage.type.class.parameter.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { "name": "entity.name.type.class.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { "name": "variable.other.object.declare.cpp" }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" } + ] } + } } - ] - }, - "parameter": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)", - "end": "(?:(?=\\))|(,))", - "beginCaptures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "endCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, - "name": "meta.parameter.cpp", - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#function_pointer_parameter" }, - { "include": "#decltype" }, - { "include": "#vararg_ellipses" }, - { - "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)", - "captures": { - "1": { "patterns": [ { "include": "#storage_types" } ] }, - "2": { "name": "storage.modifier.specifier.parameter.cpp" }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "name": "variable.other.object.declare.cpp" + }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, - "12": { "name": "storage.type.cpp storage.type.built-in.cpp" }, - "13": { "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, - "14": { "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" }, - "15": { "name": "entity.name.type.parameter.cpp" }, - "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "18": { "name": "comment.block.cpp" }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" } + ] + } + } + } + ] + } + } + } + ] + }, + "static_assert": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "name": "keyword.other.static_assert.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { + "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp" + } + }, + "patterns": [ + { + "begin": "(,)(?:(?:\\s)+)?(?=(?:L|u8|u|U(?:(?:\\s)+)?\\\")?)", + "end": "(?=\\))", + "beginCaptures": { + "1": { + "name": "punctuation.separator.delimiter.comma.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.static_assert.message.cpp", + "patterns": [ + { + "include": "#string_context" + } + ] + }, + { + "include": "#evaluation_context" + } + ] + }, + "std_space": { + "match": "(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))", + "captures": { + "0": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "1": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "storage_specifiers": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "storage.modifier.specifier.$3.cpp" + } + } + }, + "storage_types": { + "patterns": [ + { + "include": "#storage_specifiers" + }, + { + "include": "#inline_builtin_storage_type" + }, + { + "include": "#decltype" + }, + { + "include": "#typename" + } + ] + }, + "string_context": { + "patterns": [ + { + "begin": "((?:u|u8|U|L)?)\"", + "end": "\"", + "beginCaptures": { + "0": { + "name": "punctuation.definition.string.begin.cpp" + }, + "1": { + "name": "meta.encoding.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.string.end.cpp" + } + }, + "name": "string.quoted.double.cpp", + "patterns": [ + { + "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})", + "name": "constant.character.escape.cpp" + }, + { + "match": "\\\\['\"?\\\\abfnrtv]", + "name": "constant.character.escape.cpp" + }, + { + "match": "\\\\[0-7]{1,3}", + "name": "constant.character.escape.cpp" + }, + { + "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))", + "captures": { + "1": { + "name": "constant.character.escape.cpp" + }, + "2": { + "name": "invalid.illegal.unknown-escape.cpp" + } + } + }, + { + "include": "#string_escapes_context_c" + } + ] + }, + { + "begin": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.struct.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { + "name": "storage.type.modifier.final.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" } + ] }, - { "include": "#storage_types" }, - { "include": "#scope_resolution_parameter_inner_generated" }, - { - "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", - "name": "storage.type.$0.cpp" + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "begin": "(?<==)", - "end": "(?:(?=\\))|(,))", - "beginCaptures": { }, - "endCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, - "patterns": [ { "include": "#evaluation_context" } ] + "4": { + "name": "comment.block.cpp" }, - { - "match": "\\=", - "name": "keyword.operator.assignment.cpp" + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { + "name": "entity.name.type.struct.cpp" }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\)|,|\\[|=|\\n)", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { "name": "variable.parameter.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } + "2": { + "patterns": [ + { + "include": "#inline_comment" } + ] }, - { "include": "#attributes_context" }, - { - "begin": "\\[", - "end": "\\]", - "beginCaptures": { "0": { "name": "punctuation.definition.begin.bracket.square.array.type.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.definition.end.bracket.square.array.type.cpp" } }, - "name": "meta.bracket.square.array.cpp", - "patterns": [ { "include": "#evaluation_context" } ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))", - "captures": { - "0": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { "name": "comment.block.cpp" }, - "8": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "parameter_class": { - "match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { "name": "storage.type.class.parameter.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, - "4": { "name": "entity.name.type.class.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "name": "storage.type.modifier.final.cpp" }, "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { "name": "variable.other.object.declare.cpp" }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "parameter_enum": { - "match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { "name": "storage.type.enum.parameter.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { "name": "entity.name.type.enum.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "14": { "name": "variable.other.object.declare.cpp" }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "name": "comment.block.cpp" }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } + } + }, + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" } + ] }, - "parameter_or_maybe_value": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)", - "end": "(?:(?=\\))|(,))", - "beginCaptures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "endCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, - "name": "meta.parameter.cpp", - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#function_pointer_parameter" }, - { "include": "#memory_operators" }, - { "include": "#builtin_storage_type_initilizer" }, - { "include": "#curly_initializer" }, - { "include": "#decltype" }, - { "include": "#vararg_ellipses" }, - { - "match": "((?:((?:(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)", - "captures": { - "1": { "patterns": [ { "include": "#storage_types" } ] }, - "2": { "name": "storage.modifier.specifier.parameter.cpp" }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { "name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp" }, - "12": { "name": "storage.type.cpp storage.type.built-in.cpp" }, - "13": { "name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp" }, - "14": { "name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp" }, - "15": { "name": "entity.name.type.parameter.cpp" }, - "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "18": { "name": "comment.block.cpp" }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { "include": "#storage_types" }, - { "include": "#function_call" }, - { "include": "#scope_resolution_parameter_inner_generated" }, - { - "match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))", - "name": "storage.type.$0.cpp" - }, - { - "begin": "(?<==)", - "end": "(?:(?=\\))|(,))", - "beginCaptures": { }, - "endCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=(?:\\)|,|\\[|=|\\/\\/|(?:(?:\\n)|$)))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { "name": "variable.parameter.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { "include": "#attributes_context" }, - { - "begin": "\\[", - "end": "\\]", - "beginCaptures": { "0": { "name": "punctuation.definition.begin.bracket.square.array.type.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.definition.end.bracket.square.array.type.cpp" } }, - "name": "meta.bracket.square.array.cpp", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))", - "captures": { - "0": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { "name": "comment.block.cpp" }, - "8": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { "include": "#evaluation_context" } - ] - }, - "parameter_struct": { - "match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { "name": "storage.type.struct.parameter.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "14": { + "name": "comment.block.cpp" + }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "18": { + "name": "comment.block.cpp" + }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "20": { + "name": "punctuation.separator.colon.inheritance.cpp" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.terminator.statement.cpp" + }, + "2": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.block.struct.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.struct.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "struct_declare": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { + "name": "storage.type.struct.declare.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "entity.name.type.struct.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.struct.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "name": "comment.block.cpp" }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "variable.other.object.declare.cpp" }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "parameter_union": { - "match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)", - "captures": { - "1": { "name": "storage.type.union.parameter.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "4": { "name": "entity.name.type.union.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "2": { + "name": "comment.block.cpp" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "name": "variable.other.object.declare.cpp" + }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + } + } + }, + "switch_conditional_parentheses": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp" + } + }, + "name": "meta.conditional.switch.cpp", + "patterns": [ + { + "include": "#evaluation_context" + }, + { + "include": "#c_conditional_context" + } + ] + }, + "switch_statement": { + "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.switch.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "5": { + "name": "keyword.control.switch.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.block.switch.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.switch.cpp" + } + }, + "name": "meta.head.switch.cpp", + "patterns": [ + { + "include": "#switch_conditional_parentheses" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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" + }, + { + "include": "#block_innards" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.switch.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "template_argument_defaulted": { + "match": "(?<=<|,)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)*)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?([=])", + "captures": { + "1": { + "name": "storage.type.template.cpp" + }, + "2": { + "name": "entity.name.type.template.cpp" + }, + "3": { + "name": "keyword.operator.assignment.cpp" + } + } + }, + "template_call_context": { + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#template_call_range" + }, + { + "include": "#storage_types" + }, + { + "include": "#language_constants" + }, + { + "include": "#scope_resolution_template_call_inner_generated" + }, + { + "include": "#operators" + }, + { + "include": "#number_literal" + }, + { + "include": "#string_context" + }, + { + "include": "#comma_in_template_argument" + }, + { + "include": "#qualified_type" + } + ] + }, + "template_call_innards": { + "match": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<1>?)+>)(?:\\s)*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + }, + "name": "meta.template.call.cpp" + }, + "template_call_range": { + "begin": "<", + "end": ">", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + "template_definition": { + "begin": "(?", + "beginCaptures": { + "1": { + "name": "storage.type.template.cpp" + }, + "2": { + "name": "punctuation.section.angle-brackets.start.template.definition.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.definition.cpp" + } + }, + "name": "meta.template.definition.cpp", + "patterns": [ + { + "begin": "(?<=\\w)(?:(?:\\s)+)?<", + "end": ">", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "include": "#template_definition_context" + } + ] + }, + "template_definition_argument": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))(?:(?:\\s)+)?(?:(,)|(?=>|$))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "variable.other.object.declare.cpp" }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "storage.type.template.argument.$3.cpp" + }, + "4": { + "patterns": [ + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "storage.type.template.argument.$0.cpp" + } + ] + }, + "5": { + "name": "entity.name.type.template.cpp" + }, + "6": { + "name": "storage.type.template.cpp" + }, + "7": { + "name": "punctuation.vararg-ellipses.template.definition.cpp" + }, + "8": { + "name": "entity.name.type.template.cpp" + }, + "9": { + "name": "punctuation.separator.delimiter.comma.template.argument.cpp" + } + } + }, + "template_definition_context": { + "patterns": [ + { + "include": "#scope_resolution_template_definition_inner_generated" + }, + { + "include": "#template_definition_argument" + }, + { + "include": "#template_argument_defaulted" + }, + { + "include": "#template_call_innards" + }, + { + "include": "#evaluation_context" + } + ] + }, + "template_isolated_definition": { + "match": "(?(?:(?:\\s)+)?$)", + "captures": { + "1": { + "name": "storage.type.template.cpp" + }, + "2": { + "name": "punctuation.section.angle-brackets.start.template.definition.cpp" + }, + "3": { + "name": "meta.template.definition.cpp", + "patterns": [ + { + "include": "#template_definition_context" + } + ] + }, + "4": { + "name": "punctuation.section.angle-brackets.end.template.definition.cpp" + } + } + }, + "ternary_operator": { + "begin": "\\?", + "end": ":", + "beginCaptures": { + "0": { + "name": "keyword.operator.ternary.cpp" + } + }, + "endCaptures": { + "0": { + "name": "keyword.operator.ternary.cpp" + } + }, + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#string_context" + }, + { + "include": "#number_literal" + }, + { + "include": "#method_access" + }, + { + "include": "#member_access" + }, + { + "include": "#predefined_macros" + }, + { + "include": "#operators" + }, + { + "include": "#memory_operators" + }, + { + "include": "#wordlike_operators" + }, + { + "include": "#type_casting_operators" + }, + { + "include": "#control_flow_keywords" + }, + { + "include": "#exception_keywords" + }, + { + "include": "#the_this_keyword" + }, + { + "include": "#language_constants" + }, + { + "include": "#builtin_storage_type_initilizer" + }, + { + "include": "#qualifiers_and_specifiers_post_parameters" + }, + { + "include": "#functional_specifiers_pre_parameters" + }, + { + "include": "#storage_types" + }, + { + "include": "#lambdas" + }, + { + "include": "#attributes_context" + }, + { + "include": "#parentheses" + }, + { + "include": "#function_call" + }, + { + "include": "#scope_resolution_inner_generated" + }, + { + "include": "#square_brackets" + }, + { + "include": "#semicolon" + }, + { + "include": "#comma" + } + ], + "applyEndPatternLast": 1 + }, + "the_this_keyword": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } + } } + ] }, - "parentheses": { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { "0": { "name": "punctuation.section.parens.begin.bracket.round.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.parens.end.bracket.round.cpp" } }, - "name": "meta.parens.cpp", - "patterns": [ - { "include": "#over_qualified_types" }, - { - "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))|(.*(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)?(?:(?:\\s)+)?(?:(;)|\\n)", + "captures": { + "1": { + "name": "keyword.other.using.directive.cpp" }, - "pragma": { - "begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma\\b", - "end": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma(?:\\s)+mark)(?:\\s)+(.*)", - "captures": { - "1": { "name": "keyword.control.directive.pragma.pragma-mark.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { "name": "punctuation.definition.directive.cpp" }, - "5": { "name": "entity.name.tag.pragma-mark.cpp" } - }, - "name": "meta.preprocessor.pragma.cpp" - }, - "predefined_macros": { - "patterns": [ - { - "match": "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b", - "captures": { "1": { "name": "entity.name.other.preprocessor.macro.predefined.$1.cpp" } } - }, - { - "match": "\\b__([A-Z_]+)__\\b", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp" - } - ] - }, - "preprocessor_conditional_context": { - "patterns": [ - { "include": "#preprocessor_conditional_defined" }, - { "include": "#comments" }, - { "include": "#language_constants" }, - { "include": "#string_context" }, - { "include": "#d9bc4796b0b_preprocessor_number_literal" }, - { "include": "#operators" }, - { "include": "#predefined_macros" }, - { "include": "#macro_name" }, - { "include": "#line_continuation_character" } - ] - }, - "preprocessor_conditional_defined": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:(?:ifndef|ifdef)|if))", - "end": "^(?!\\s*+#\\s*(?:else|endif))", - "beginCaptures": { - "0": { "name": "keyword.control.directive.conditional.$6.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "5": { "name": "punctuation.definition.directive.cpp" }, - "6": { } - }, - "endCaptures": { }, - "patterns": [ - { - "begin": "\\G(?<=ifndef|ifdef|if)", - "end": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "3": { "name": "punctuation.definition.directive.cpp" } - }, - "name": "keyword.control.directive.$4.cpp" - }, - "preprocessor_context": { - "patterns": [ - { "include": "#pragma_mark" }, - { "include": "#pragma" }, - { "include": "#include" }, - { "include": "#line" }, - { "include": "#diagnostic" }, - { "include": "#undef" }, - { "include": "#preprocessor_conditional_range" }, - { "include": "#single_line_macro" }, - { "include": "#macro" }, - { "include": "#preprocessor_conditional_standalone" }, - { "include": "#macro_argument" } - ] - }, - "qualified_type": { - "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)?(?![\\w<:.])", - "captures": { + "2": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "4": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "5": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { "1": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "patterns": [ { "include": "#inline_comment" } ] }, - "5": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "6": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { "patterns": [ { "include": "#template_call_range" } ] }, - "9": { "patterns": [ { "include": "#inline_comment" } ] }, - "10": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - }, - "name": "meta.qualified_type.cpp" - }, - "qualifiers_and_specifiers_post_parameters": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "3": { "name": "storage.modifier.specifier.functional.post-parameters.$3.cpp" }, - "4": { "patterns": [ { "include": "#inline_comment" } ] }, - "5": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } + } + } + ] + }, + "8": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } + "9": { + "patterns": [ + { + "include": "#template_call_range" } + ] }, - "scope_resolution_function_call": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } + "11": { + "patterns": [ + { + "include": "#inline_comment" } + ] }, - "scope_resolution_function_call_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.function.call.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] + "12": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { }, - "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" } + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } + ] + }, + "14": { + "name": "keyword.operator.assignment.cpp" + }, + "15": { + "name": "keyword.other.typename.cpp" }, - "scope_resolution_function_definition": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } + "16": { + "patterns": [ + { + "include": "#storage_specifiers" } + ] }, - "scope_resolution_function_definition_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.function.definition.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] + "17": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" }, - "7": { }, - "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" } + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } + ] }, - "scope_resolution_function_definition_operator_overload": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } + "18": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" } + ] }, - "scope_resolution_function_definition_operator_overload_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" } + "19": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" } + ] }, - "scope_resolution_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] + "20": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "21": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" }, - "7": { }, - "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" } + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } + ] }, - "scope_resolution_namespace_alias": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } + "22": { + "patterns": [ + { + "include": "#inline_comment" } + ] }, - "scope_resolution_namespace_alias_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.namespace.alias.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] + "23": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" }, - "7": { }, - "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" } + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } + ] }, - "scope_resolution_namespace_block": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_namespace_block_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } + "24": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_namespace_block_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.namespace.block.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] + "25": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "27": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "28": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { }, - "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" } + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } + ] }, - "scope_resolution_namespace_using": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_namespace_using_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } + "30": { + "name": "meta.declaration.type.alias.value.unknown.cpp", + "patterns": [ + { + "include": "#evaluation_context" } + ] }, - "scope_resolution_namespace_using_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_namespace_using_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.namespace.using.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] + "31": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { }, - "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" } + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" } + ] }, - "scope_resolution_parameter": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_parameter_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } + "32": { + "patterns": [ + { + "include": "#inline_comment" } + ] }, - "scope_resolution_parameter_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_parameter_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.parameter.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] + "33": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" }, - "7": { }, - "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" } + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } + ] }, - "scope_resolution_template_call": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_template_call_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } + "34": { + "patterns": [ + { + "include": "#inline_comment" } + ] }, - "scope_resolution_template_call_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_template_call_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.template.call.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] + "35": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" }, - "7": { }, - "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" } + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } } + ] }, - "scope_resolution_template_definition": { - "match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_template_definition_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } + "36": { + "patterns": [ + { + "include": "#inline_comment" } + ] }, - "scope_resolution_template_definition_inner_generated": { - "match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_template_definition_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.template.definition.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] + "37": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" }, - "7": { }, - "8": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" } + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "38": { + "name": "punctuation.definition.begin.bracket.square.cpp" + }, + "39": { + "patterns": [ + { + "include": "#evaluation_context" } + ] }, - "semicolon": { - "match": ";", - "name": "punctuation.terminator.statement.cpp" + "40": { + "name": "punctuation.definition.end.bracket.square.cpp" + }, + "41": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.declaration.type.alias.cpp" + }, + "type_casting_operators": { + "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", - "captures": { + "2": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + "name": "comment.block.cpp" }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "3": { + "name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp" + } + } + }, + "typedef_class": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.class.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { + "name": "storage.type.modifier.final.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" } - ] - }, - "7": { - "patterns": [ + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "match": "\\*", + "name": "comment.block.cpp" } - ] + ] + } + } }, - "12": { }, - "13": { - "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { + "name": "entity.name.type.class.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "storage.type.modifier.final.cpp" + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\&", - "name": "storage.modifier.reference.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] + ] + } + } }, - "14": { "patterns": [ { "include": "#inline_comment" } ] }, - "15": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" }, - "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "14": { + "name": "comment.block.cpp" + }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "18": { + "name": "comment.block.cpp" + }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" } + ] + }, + "20": { + "name": "punctuation.separator.colon.inheritance.cpp" } - }, - "single_line_macro": { - "match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))#define.*(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "name": "punctuation.section.block.begin.bracket.curly.class.cpp" } - } - }, - "sizeof_operator": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + }, + "name": "meta.head.class.cpp", + "patterns": [ + { + "include": "#ever_present_context" }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp" } }, - "contentName": "meta.arguments.operator.sizeof", - "patterns": [ { "include": "#evaluation_context" } ] - }, - "sizeof_variadic_operator": { - "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "include": "#inheritance_context" }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" } + { + "include": "#template_call_range" + } + ] }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp" } }, - "contentName": "meta.arguments.operator.sizeof.variadic", - "patterns": [ { "include": "#evaluation_context" } ] - }, - "square_brackets": { - "name": "meta.bracket.square.access", - "begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])", - "beginCaptures": { - "1": { "name": "variable.other.object" }, - "2": { "name": "punctuation.definition.begin.bracket.square" } + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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" + } + ] }, - "end": "\\]", - "endCaptures": { "0": { "name": "punctuation.definition.end.bracket.square" } }, - "patterns": [ { "include": "#evaluation_context" } ] - }, - "standard_declares": { - "patterns": [ + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.class.cpp", + "patterns": [ { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { "name": "storage.type.struct.declare.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\&", - "name": "storage.modifier.reference.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "12": { + "name": "comment.block.cpp" + }, + "13": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "12": { "name": "variable.other.object.declare.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" } + ] + }, + "14": { + "name": "entity.name.type.alias.cpp" } + } }, { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { "name": "storage.type.union.declare.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { "name": "entity.name.type.union.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { "name": "variable.other.object.declare.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } + "match": "," + } + ] + } + ] + } + ] + }, + "typedef_function_pointer": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { "name": "storage.type.enum.declare.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { "name": "entity.name.type.enum.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { "name": "variable.other.object.declare.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { "name": "storage.type.class.declare.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "4": { "name": "entity.name.type.class.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "12": { "name": "variable.other.object.declare.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "static_assert": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, + ] + }, + "18": { + }, + "19": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ { - "match": "\\*", - "name": "comment.block.cpp" + "include": "#inline_comment" } - ] - }, - "5": { "name": "keyword.other.static_assert.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp" } }, - "patterns": [ - { - "begin": "(,)(?:(?:\\s)+)?(?=(?:L|u8|u|U(?:(?:\\s)+)?\\\")?)", - "end": "(?=\\))", - "beginCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, - "endCaptures": { }, - "name": "meta.static_assert.message.cpp", - "patterns": [ { "include": "#string_context" } ] - }, - { "include": "#evaluation_context" } - ] - }, - "std_space": { - "match": "(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))", - "captures": { - "0": { "patterns": [ { "include": "#inline_comment" } ] }, - "1": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - } - } - }, - "storage_specifiers": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "match": "\\*", + "name": "comment.block.cpp" } - ] + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" }, - "3": { "name": "storage.modifier.specifier.$3.cpp" } - } - }, - "storage_types": { - "patterns": [ - { "include": "#storage_specifiers" }, - { "include": "#inline_builtin_storage_type" }, - { "include": "#decltype" }, - { "include": "#typename" } - ] - }, - "string_context": { - "patterns": [ { - "begin": "((?:u|u8|U|L)?)\"", - "end": "\"", - "beginCaptures": { - "0": { "name": "punctuation.definition.string.begin.cpp" }, - "1": { "name": "meta.encoding.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.definition.string.end.cpp" } }, - "name": "string.quoted.double.cpp", - "patterns": [ - { - "match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})", - "name": "constant.character.escape.cpp" - }, - { - "match": "\\\\['\"?\\\\abfnrtv]", - "name": "constant.character.escape.cpp" - }, - { - "match": "\\\\[0-7]{1,3}", - "name": "constant.character.escape.cpp" - }, - { - "match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))", - "captures": { - "1": { "name": "constant.character.escape.cpp" }, - "2": { "name": "invalid.illegal.unknown-escape.cpp" } - } - }, - { "include": "#string_escapes_context_c" } - ] + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "20": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "21": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "22": { + "name": "comment.block.cpp" + }, + "23": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "begin": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.struct.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "begin": "((?:u|u8|U|L)?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)\"", - "endCaptures": { - "0": { "name": "punctuation.definition.string.end" }, - "1": { "name": "invalid.illegal.delimiter-too-long" } - }, - "name": "string.quoted.double.raw" + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "string_escapes_context_c": { - "patterns": [ + ] + }, + "6": { + "patterns": [ { - "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", - "name": "constant.character.escape" + "include": "#attributes_context" }, { - "match": "\\\\.", - "name": "invalid.illegal.unknown-escape" + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "(?x) (?!%')(?!%\")%\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type", - "name": "constant.other.placeholder" + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "struct_block": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.struct.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, + ] + }, + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { + "name": "storage.type.modifier.final.cpp" + }, + "2": { + "patterns": [ { - "match": "\\*", - "name": "comment.block.cpp" + "include": "#inline_comment" } - ] - }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] + ] + } + } }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { "name": "storage.type.modifier.final.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { "name": "entity.name.type.struct.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "storage.type.modifier.final.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { + "name": "entity.name.type.struct.cpp" + }, + "2": { + "patterns": [ { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + "include": "#inline_comment" } - ] - }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "comment.block.cpp" }, - "15": { - "patterns": [ + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "18": { "name": "comment.block.cpp" }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, + ] + }, + "6": { + "name": "storage.type.modifier.final.cpp" + }, + "7": { + "patterns": [ { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "20": { "name": "punctuation.separator.colon.inheritance.cpp" } - }, - "endCaptures": { - "1": { "name": "punctuation.terminator.statement.cpp" }, - "2": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.block.struct.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.struct.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "struct_declare": { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { "name": "storage.type.struct.declare.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "include": "#inline_comment" } - ] - }, - "4": { "name": "entity.name.type.struct.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\&", - "name": "storage.modifier.reference.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] + ] + } + } }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "14": { + "name": "comment.block.cpp" + }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "18": { + "name": "comment.block.cpp" + }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "12": { "name": "variable.other.object.declare.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" } + ] + }, + "20": { + "name": "punctuation.separator.colon.inheritance.cpp" } - }, - "switch_conditional_parentheses": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + }, + "endCaptures": { + "1": { + "name": "punctuation.terminator.statement.cpp" + }, + "2": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.block.struct.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.struct.cpp" + } + }, + "name": "meta.body.struct.cpp", + "patterns": [ + { + "include": "#function_pointer" + }, + { + "include": "#static_assert" }, - "5": { "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp" } + { + "include": "#constructor_inline" + }, + { + "include": "#destructor_inline" + }, + { + "include": "$self" + } + ] }, - "endCaptures": { "0": { "name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp" } }, - "name": "meta.conditional.switch.cpp", - "patterns": [ - { "include": "#evaluation_context" }, - { "include": "#c_conditional_context" } - ] - }, - "switch_statement": { - "begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.switch.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.struct.cpp", + "patterns": [ + { + "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?|\\?\\?>", - "beginCaptures": { }, - "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" }, - { "include": "#block_innards" } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.switch.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "template_argument_defaulted": { - "match": "(?<=<|,)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)*)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?([=])", - "captures": { - "1": { "name": "storage.type.template.cpp" }, - "2": { "name": "entity.name.type.template.cpp" }, - "3": { "name": "keyword.operator.assignment.cpp" } - } - }, - "template_call_context": { - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#template_call_range" }, - { "include": "#storage_types" }, - { "include": "#language_constants" }, - { "include": "#scope_resolution_template_call_inner_generated" }, - { "include": "#operators" }, - { "include": "#number_literal" }, - { "include": "#string_context" }, - { "include": "#comma_in_template_argument" }, - { "include": "#qualified_type" } - ] - }, - "template_call_innards": { - "match": "((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<1>?)+>)(?:\\s)*+", - "captures": { "0": { "patterns": [ { "include": "#template_call_range" } ] } }, - "name": "meta.template.call.cpp" - }, - "template_call_range": { - "begin": "<", - "end": ">", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - "template_definition": { - "begin": "(?", - "beginCaptures": { - "1": { "name": "storage.type.template.cpp" }, - "2": { "name": "punctuation.section.angle-brackets.start.template.definition.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.definition.cpp" } }, - "name": "meta.template.definition.cpp", - "patterns": [ - { - "begin": "(?<=\\w)(?:(?:\\s)+)?<", - "end": ">", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "patterns": [ { "include": "#template_call_context" } ] - }, - { "include": "#template_definition_context" } - ] - }, - "template_definition_argument": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))(?:(?:\\s)+)?(?:(,)|(?=>|$))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" } - } - } - ] - }, - "3": { "name": "storage.type.template.argument.$3.cpp" }, - "4": { - "patterns": [ - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "storage.type.template.argument.$0.cpp" - } - ] - }, - "5": { "name": "entity.name.type.template.cpp" }, - "6": { "name": "storage.type.template.cpp" }, - "7": { "name": "punctuation.vararg-ellipses.template.definition.cpp" }, - "8": { "name": "entity.name.type.template.cpp" }, - "9": { "name": "punctuation.separator.delimiter.comma.template.argument.cpp" } - } - }, - "template_definition_context": { - "patterns": [ - { "include": "#scope_resolution_template_definition_inner_generated" }, - { "include": "#template_definition_argument" }, - { "include": "#template_argument_defaulted" }, - { "include": "#template_call_innards" }, - { "include": "#evaluation_context" } - ] - }, - "template_isolated_definition": { - "match": "(?(?:(?:\\s)+)?$)", - "captures": { - "1": { "name": "storage.type.template.cpp" }, - "2": { "name": "punctuation.section.angle-brackets.start.template.definition.cpp" }, - "3": { - "name": "meta.template.definition.cpp", - "patterns": [ { "include": "#template_definition_context" } ] - }, - "4": { "name": "punctuation.section.angle-brackets.end.template.definition.cpp" } - } - }, - "ternary_operator": { - "begin": "\\?", - "end": ":", - "beginCaptures": { "0": { "name": "keyword.operator.ternary.cpp" } }, - "endCaptures": { "0": { "name": "keyword.operator.ternary.cpp" } }, - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#string_context" }, - { "include": "#number_literal" }, - { "include": "#method_access" }, - { "include": "#member_access" }, - { "include": "#predefined_macros" }, - { "include": "#operators" }, - { "include": "#memory_operators" }, - { "include": "#wordlike_operators" }, - { "include": "#type_casting_operators" }, - { "include": "#control_flow_keywords" }, - { "include": "#exception_keywords" }, - { "include": "#the_this_keyword" }, - { "include": "#language_constants" }, - { "include": "#builtin_storage_type_initilizer" }, - { "include": "#qualifiers_and_specifiers_post_parameters" }, - { "include": "#functional_specifiers_pre_parameters" }, - { "include": "#storage_types" }, - { "include": "#lambdas" }, - { "include": "#attributes_context" }, - { "include": "#parentheses" }, - { "include": "#function_call" }, - { "include": "#scope_resolution_inner_generated" }, - { "include": "#square_brackets" }, - { "include": "#semicolon" }, - { "include": "#comma" } - ], - "applyEndPatternLast": 1 - }, - "the_this_keyword": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" } + ] } + }, + "name": "invalid.illegal.reference-type.cpp" + }, + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" } - ] - }, - "3": { "name": "variable.language.this.cpp" } - } - }, - "type_alias": { - "match": "(using)(?:(?:\\s)+)?(?!namespace)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))|(.*(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)?(?:(?:\\s)+)?(?:(;)|\\n)", - "captures": { - "1": { "name": "keyword.other.using.directive.cpp" }, - "2": { - "name": "meta.qualified_type.cpp", - "patterns": [ + ] + }, + "2": { + "patterns": [ { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "3": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "4": { "patterns": [ { "include": "#inline_comment" } ] }, - "5": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" } - ] - }, - "8": { - "patterns": [ + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "match": "\\*", + "name": "comment.block.cpp" } - ] - }, - "14": { "name": "keyword.operator.assignment.cpp" }, - "15": { "name": "keyword.other.typename.cpp" }, - "16": { "patterns": [ { "include": "#storage_specifiers" } ] }, - "17": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "18": { - "name": "meta.qualified_type.cpp", - "patterns": [ + ] + }, + "10": { + "patterns": [ { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, + "include": "#inline_comment" + } + ] + }, + "11": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "12": { + "name": "comment.block.cpp" + }, + "13": { + "patterns": [ { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] + ] + }, + "14": { + "name": "entity.name.type.alias.cpp" + } + } }, - "19": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + { + "match": "," + } + ] + } + ] + } + ] + }, + "typedef_union": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.union.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "20": { "patterns": [ { "include": "#inline_comment" } ] }, - "21": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" }, - "22": { "patterns": [ { "include": "#inline_comment" } ] }, - "23": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "24": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { + "name": "storage.type.modifier.final.cpp" + }, + "2": { + "patterns": [ { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "include": "#inline_comment" } - ] - }, - "30": { - "name": "meta.declaration.type.alias.value.unknown.cpp", - "patterns": [ { "include": "#evaluation_context" } ] - }, - "31": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "32": { "patterns": [ { "include": "#inline_comment" } ] }, - "33": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "34": { "patterns": [ { "include": "#inline_comment" } ] }, - "35": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "36": { "patterns": [ { "include": "#inline_comment" } ] }, - "37": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "38": { "name": "punctuation.definition.begin.bracket.square.cpp" }, - "39": { "patterns": [ { "include": "#evaluation_context" } ] }, - "40": { "name": "punctuation.definition.end.bracket.square.cpp" }, - "41": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.declaration.type.alias.cpp" - }, - "type_casting_operators": { - "match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } + "match": "\\*", + "name": "comment.block.cpp" } - ] + ] + } + } }, - "3": { "name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp" } - } - }, - "typedef_class": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.class.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { "name": "storage.type.modifier.final.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { "name": "entity.name.type.class.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "storage.type.modifier.final.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" - } - ] - }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "comment.block.cpp" }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "18": { "name": "comment.block.cpp" }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "20": { "name": "punctuation.separator.colon.inheritance.cpp" } - }, - "endCaptures": { - "1": { "name": "punctuation.terminator.statement.cpp" }, - "2": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.block.class.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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" } - ] - }, + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { + "name": "entity.name.type.union.cpp" + }, + "2": { + "patterns": [ { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.class.cpp", - "patterns": [ - { - "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "12": { "name": "comment.block.cpp" }, - "13": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "14": { "name": "entity.name.type.alias.cpp" } - } - }, - { "match": "," } - ] - } - ] - } - ] - }, - "typedef_function_pointer": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "20": { "patterns": [ { "include": "#inline_comment" } ] }, - "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "22": { "name": "comment.block.cpp" }, - "23": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "24": { "patterns": [ { "include": "#inline_comment" } ] }, - "25": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "26": { "name": "comment.block.cpp" }, - "27": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "28": { "patterns": [ { "include": "#inline_comment" } ] }, - "29": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "30": { "name": "comment.block.cpp" }, - "31": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.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" } - }, - "endCaptures": { - "1": { "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "patterns": [ { "include": "#function_parameter_context" } ] - } - ] - }, - "typedef_struct": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.struct.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { "name": "storage.type.modifier.final.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { "name": "entity.name.type.struct.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "storage.type.modifier.final.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" - } - ] - }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "comment.block.cpp" }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "18": { "name": "comment.block.cpp" }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "20": { "name": "punctuation.separator.colon.inheritance.cpp" } - }, - "endCaptures": { - "1": { "name": "punctuation.terminator.statement.cpp" }, - "2": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.block.struct.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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" } - ] - }, + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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" } - ] + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.struct.cpp", - "patterns": [ - { - "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "12": { "name": "comment.block.cpp" }, - "13": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "14": { "name": "entity.name.type.alias.cpp" } - } - }, - { "match": "," } - ] - } - ] - } - ] - }, - "typedef_union": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.union.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "storage.type.modifier.final.cpp" + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "14": { + "name": "comment.block.cpp" + }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "18": { + "name": "comment.block.cpp" + }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "20": { + "name": "punctuation.separator.colon.inheritance.cpp" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.terminator.statement.cpp" + }, + "2": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.block.union.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.union.cpp", + "patterns": [ + { + "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { "name": "storage.type.modifier.final.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { "name": "entity.name.type.union.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "storage.type.modifier.final.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + "include": "#inline_comment" } - ] - }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "comment.block.cpp" }, - "15": { - "patterns": [ + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "patterns": [ { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "match": "\\*", - "name": "comment.block.cpp" + "match": "\\*", + "name": "comment.block.cpp" } - ] + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" }, - "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "18": { "name": "comment.block.cpp" }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "20": { "name": "punctuation.separator.colon.inheritance.cpp" } - }, - "endCaptures": { - "1": { "name": "punctuation.terminator.statement.cpp" }, - "2": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.block.union.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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" } - ] + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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" } - ] + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "12": { + "name": "comment.block.cpp" + }, + "13": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.union.cpp", - "patterns": [ - { - "match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "12": { "name": "comment.block.cpp" }, - "13": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "14": { "name": "entity.name.type.alias.cpp" } - } - }, - { "match": "," } - ] + "match": "\\*", + "name": "comment.block.cpp" } - ] + ] + }, + "14": { + "name": "entity.name.type.alias.cpp" + } + } + }, + { + "match": "," + } + ] + } + ] + } + ] + }, + "typeid_operator": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" + } + }, + "contentName": "meta.arguments.operator.typeid", + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "typename": { + "match": "(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)?(?![\\w<:.]))", + "captures": { + "1": { + "name": "storage.modifier.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "5": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "6": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "17": { + } + } + }, + "undef": { + "match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } - ] + } + } + ] + }, + "4": { + "name": "punctuation.definition.directive.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "2": { + "name": "comment.block.cpp" + }, + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "7": { + "name": "entity.name.function.preprocessor.cpp" + } + }, + "name": "meta.preprocessor.undef.cpp" + }, + "union_block": { + "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.union.cpp" }, - "typeid_operator": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", + "captures": { + "1": { + "name": "storage.type.modifier.final.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp" } }, - "contentName": "meta.arguments.operator.typeid", - "patterns": [ { "include": "#evaluation_context" } ] - }, - "typename": { - "match": "(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|synchronized|dynamic_cast|thread_local|static_cast|const_cast|co_return|constexpr|constexpr|constexpr|co_return|protected|namespace|consteval|noexcept|decltype|template|operator|noexcept|co_yield|co_await|reflexpr|continue|co_await|co_yield|requires|volatile|register|restrict|explicit|volatile|noexcept|typename|default|_Pragma|mutable|include|concept|alignas|virtual|alignof|__asm__|defined|mutable|typedef|warning|private|and_eq|define|pragma|typeid|switch|bitand|return|ifndef|export|struct|sizeof|module|static|public|extern|inline|friend|delete|xor_eq|import|not_eq|class|compl|bitor|throw|or_eq|while|catch|break|union|const|const|endif|ifdef|undef|error|using|else|line|goto|else|elif|this|enum|case|new|asm|not|try|for|and|xor|or|if|do|if)\\b)(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:atomic_noexcept)|(?:atomic_commit)|(?:atomic_cancel)|(?:__has_include)|(?:dynamic_cast)|(?:synchronized)|(?:thread_local)|(?:static_cast)|(?:const_cast)|(?:constexpr)|(?:consteval)|(?:co_return)|(?:co_return)|(?:constexpr)|(?:protected)|(?:constexpr)|(?:namespace)|(?:noexcept)|(?:typename)|(?:decltype)|(?:template)|(?:operator)|(?:noexcept)|(?:co_yield)|(?:co_await)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:override)|(?:volatile)|(?:reflexpr)|(?:noexcept)|(?:requires)|(?:alignas)|(?:typedef)|(?:nullptr)|(?:alignof)|(?:mutable)|(?:concept)|(?:virtual)|(?:defined)|(?:__asm__)|(?:include)|(?:_Pragma)|(?:mutable)|(?:default)|(?:warning)|(?:private)|(?:module)|(?:return)|(?:not_eq)|(?:xor_eq)|(?:and_eq)|(?:ifndef)|(?:pragma)|(?:export)|(?:import)|(?:sizeof)|(?:static)|(?:delete)|(?:public)|(?:define)|(?:extern)|(?:inline)|(?:typeid)|(?:switch)|(?:friend)|(?:bitand)|(?:false)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:line)|(?:else)|(?:elif)|(?:true)|(?:NULL)|(?:case)|(?:goto)|(?:else)|(?:this)|(?:new)|(?:asm)|(?:not)|(?:and)|(?:xor)|(?:try)|(?:for)|(?:if)|(?:do)|(?:or)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)?(?![\\w<:.]))", - "captures": { - "1": { "name": "storage.modifier.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", + "captures": { + "1": { + "name": "entity.name.type.union.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" }, - "4": { "patterns": [ { "include": "#inline_comment" } ] }, "5": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] }, "6": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + "name": "storage.type.modifier.final.cpp" }, "7": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "name": "comment.block.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "10": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + }, + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "14": { + "name": "comment.block.cpp" + }, + "15": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "18": { + "name": "comment.block.cpp" + }, + "19": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + }, + "20": { + "name": "punctuation.separator.colon.inheritance.cpp" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.terminator.statement.cpp" + }, + "2": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.block.union.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.union.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "union_declare": { + "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", + "captures": { + "1": { + "name": "storage.type.union.declare.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "12": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] - }, - "17": { } - } - }, - "undef": { - "match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "4": { + "name": "entity.name.type.union.cpp" + }, + "5": { + "patterns": [ + { + "match": "\\*", + "name": "storage.modifier.pointer.cpp" + }, + { + "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - "4": { "name": "punctuation.definition.directive.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" }, - "7": { "name": "entity.name.function.preprocessor.cpp" } + "4": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + }, + "name": "invalid.illegal.reference-type.cpp" }, - "name": "meta.preprocessor.undef.cpp" + { + "match": "\\&", + "name": "storage.modifier.reference.cpp" + } + ] }, - "union_block": { - "begin": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)", - "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.union.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "11": { - "patterns": [ - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))", - "captures": { - "1": { "name": "storage.type.modifier.final.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)", - "captures": { - "1": { "name": "entity.name.type.union.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "6": { "name": "storage.type.modifier.final.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" - } - ] + "2": { + "name": "comment.block.cpp" }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "comment.block.cpp" }, - "15": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "18": { "name": "comment.block.cpp" }, - "19": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - }, - "20": { "name": "punctuation.separator.colon.inheritance.cpp" } - }, - "endCaptures": { - "1": { "name": "punctuation.terminator.statement.cpp" }, - "2": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.block.union.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.union.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "union_declare": { - "match": "((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])", - "captures": { - "1": { "name": "storage.type.union.declare.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "4": { "name": "entity.name.type.union.cpp" }, - "5": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] + } + } + } + ] + }, + "12": { + "name": "variable.other.object.declare.cpp" + }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "12": { "name": "variable.other.object.declare.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { - "patterns": [ - { - "match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))", - "captures": { - "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "2": { "name": "comment.block.cpp" }, - "3": { - "patterns": [ - { - "match": "\\*\\/", - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - { - "match": "\\*", - "name": "comment.block.cpp" - } - ] - } - } - } - ] + "3": { + "patterns": [ + { + "match": "\\*\\/", + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + { + "match": "\\*", + "name": "comment.block.cpp" + } + ] } + } } + ] + } + } + }, + "using_name": { + "match": "(using)(?:\\s)+(?!namespace\\b)", + "captures": { + "1": { + "name": "keyword.other.using.directive.cpp" + } + } + }, + "using_namespace": { + "begin": "(?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<6>?)+>)(?:\\s)*+)?::)*\\s*+)?((?]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<6>?)+>)(?:\\s)*+)?::)*\\s*+)?((? Date: Fri, 3 Feb 2023 15:43:03 -0600 Subject: [PATCH 14/65] formatting --- autogenerated/cpp.tmLanguage.json | 24366 +++++++++------------------- 1 file changed, 8005 insertions(+), 16361 deletions(-) diff --git a/autogenerated/cpp.tmLanguage.json b/autogenerated/cpp.tmLanguage.json index 54650fda..371a9cda 100644 --- a/autogenerated/cpp.tmLanguage.json +++ b/autogenerated/cpp.tmLanguage.json @@ -1,16688 +1,8332 @@ { - "information_for_contributors": [ - "This code was auto generated by a much-more-readable ruby file", - "This file essentially an updated/improved fork of the atom syntax", - "see https://github.com/jeff-hykin/better-cpp-syntax/blob/master" - ], - "version": "", - "name": "C++", - "scopeName": "source.cpp", - "fileTypes": [ - "cc", - "cpp", - "cp", - "cxx", - "c++", - "C", - "h", - "hh", - "hpp", - "h++" - ], - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#constructor_root" - }, - { - "include": "#destructor_root" - }, - { - "include": "#function_definition" - }, - { - "include": "#operator_overload" - }, - { - "include": "#using_namespace" - }, - { - "include": "#type_alias" - }, - { - "include": "#using_name" - }, - { - "include": "#namespace_alias" - }, - { - "include": "#namespace_block" - }, - { - "include": "#extern_block" - }, - { - "include": "#typedef_class" - }, - { - "include": "#typedef_struct" - }, - { - "include": "#typedef_union" - }, - { - "include": "#misc_keywords" - }, - { - "include": "#standard_declares" - }, - { - "include": "#class_block" - }, - { - "include": "#struct_block" - }, - { - "include": "#union_block" - }, - { - "include": "#enum_block" - }, - { - "include": "#template_isolated_definition" - }, - { - "include": "#template_definition" - }, - { - "include": "#template_explicit_instantiation" - }, - { - "include": "#access_control_keywords" - }, - { - "include": "#block" - }, - { - "include": "#static_assert" - }, - { - "include": "#assembly" - }, - { - "include": "#function_pointer" - }, - { - "include": "#evaluation_context" - } - ], - "repository": { - "access_control_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" + "information_for_contributors": [ + "This code was auto generated by a much-more-readable ruby file", + "This file essentially an updated/improved fork of the atom syntax", + "see https://github.com/jeff-hykin/better-cpp-syntax/blob/master" + ], + "version": "", + "name": "C++", + "scopeName": "source.cpp", + "fileTypes": [ + "cc", + "cpp", + "cp", + "cxx", + "c++", + "C", + "h", + "hh", + "hpp", + "h++" + ], + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#constructor_root" }, + { "include": "#destructor_root" }, + { "include": "#function_definition" }, + { "include": "#operator_overload" }, + { "include": "#using_namespace" }, + { "include": "#type_alias" }, + { "include": "#using_name" }, + { "include": "#namespace_alias" }, + { "include": "#namespace_block" }, + { "include": "#extern_block" }, + { "include": "#typedef_class" }, + { "include": "#typedef_struct" }, + { "include": "#typedef_union" }, + { "include": "#misc_keywords" }, + { "include": "#standard_declares" }, + { "include": "#class_block" }, + { "include": "#struct_block" }, + { "include": "#union_block" }, + { "include": "#enum_block" }, + { "include": "#template_isolated_definition" }, + { "include": "#template_definition" }, + { "include": "#template_explicit_instantiation" }, + { "include": "#access_control_keywords" }, + { "include": "#block" }, + { "include": "#static_assert" }, + { "include": "#assembly" }, + { "include": "#function_pointer" }, + { "include": "#evaluation_context" } + ], + "repository": { + "access_control_keywords": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] + }, + "3": { "name": "storage.type.modifier.access.control.$4.cpp" }, + "4": { }, + "5": { "name": "punctuation.separator.colon.access.control.cpp" } } - ] }, - "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "alignas_attribute": { + "begin": "alignas\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.section.attribute.begin.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.attribute.end.cpp" } }, + "name": "support.other.attribute.cpp", + "patterns": [ + { "include": "#attributes_context" }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { }, + "endCaptures": { }, + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#string_context" } + ] + }, + { + "match": "(using)(?:\\s)+((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.class.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.class.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "class_declare": { + "match": "((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.italic.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.bold.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.inline.raw.string.cpp" } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.italic.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.bold.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.inline.raw.string.cpp" } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.italic.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.bold.doxygen.cpp" } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", + "captures": { + "1": { "name": "storage.type.class.doxygen.cpp" }, + "2": { "name": "markup.inline.raw.string.cpp" } + } + }, + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "12": { "name": "comment.block.cpp" }, + "13": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "14": { "name": "storage.type.modifier.calling-convention.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "17": { "name": "comment.block.cpp" }, + "18": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "19": { "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" } + }, + "endCaptures": { }, + "name": "meta.function.definition.special.constructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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" }, + { + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "captures": { + "1": { "name": "keyword.operator.assignment.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp" }, + "7": { "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp" } + } + }, + { "include": "#functional_specifiers_pre_parameters" }, + { + "begin": ":", + "end": "(?=\\{)", + "beginCaptures": { "0": { "name": "punctuation.separator.initializers.cpp" } }, + "endCaptures": { }, + "patterns": [ + { + "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", + "end": "\\)", + "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" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, + "contentName": "meta.parameter.initialization", + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "begin": "((?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.special.constructor.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "constructor_root": { + "begin": "\\s*+((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "storage.type.modifier.calling-convention.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "10": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" + }, + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", + "end": "\\)", + "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" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, + "contentName": "meta.parameter.initialization", + "patterns": [ { "include": "#evaluation_context" } ] + }, + { + "begin": "((?|\\?\\?>", + "beginCaptures": { }, + "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" } ] }, { - "include": "#string_escaped_char" - } - ] - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp" - } - }, - "patterns": [ - { - "include": "#evaluation_context" + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.special.constructor.cpp", + "patterns": [ { "include": "$self" } ] } - ] - }, - { - "match": "\\[((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))\\]", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, + ] + }, + "control_flow_keywords": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.class.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "patterns": [ - { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)", + "end": "\\}", + "beginCaptures": { "1": { - "name": "storage.type.modifier.final.cpp" + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "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": "(?]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "3": { "name": "keyword.control.directive.import.cpp" }, + "5": { "name": "string.quoted.other.lt-gt.include.cpp" }, + "6": { "name": "punctuation.definition.string.begin.cpp" }, + "7": { "name": "punctuation.definition.string.end.cpp" }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "10": { "name": "string.quoted.double.include.cpp" }, + "11": { "name": "punctuation.definition.string.begin.cpp" }, + "12": { "name": "punctuation.definition.string.end.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - "4": { - "name": "comment.block.cpp" + "15": { "name": "entity.name.other.preprocessor.macro.include.cpp" }, + "16": { "patterns": [ { "include": "#inline_comment" } ] }, + "17": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } - }, - { - "match": "((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "7": { "name": "comment.block.cpp" }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "9": { "name": "storage.type.modifier.calling-convention.cpp" }, + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "12": { "name": "comment.block.cpp" }, + "13": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "14": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "17": { "name": "comment.block.cpp" }, + "18": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "19": { "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" } + }, + "endCaptures": { }, + "name": "meta.function.definition.special.member.destructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "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" }, + { + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "captures": { + "1": { "name": "keyword.operator.assignment.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp" }, + "7": { "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp" } + } + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" } }, + "contentName": "meta.function.definition.parameters.special.member.destructor", + "patterns": [ ] + }, + { "include": "#qualifiers_and_specifiers_post_parameters" }, + { "include": "$self" } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.special.member.destructor.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "destructor_root": { + "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "storage.type.modifier.calling-convention.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "10": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" + }, + { + "match": "(?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.special.member.destructor.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "diagnostic": { + "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?", + "end": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.enum.cpp" }, + "1": { "name": "storage.type.enum.cpp" }, + "2": { "name": "storage.type.enum.enum-key.$2.cpp" }, + "3": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "4": { "name": "entity.name.type.enum.cpp" }, + "5": { "name": "punctuation.separator.colon.type-specifier.cpp" }, + "6": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, + "7": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, + "8": { "patterns": [ { "include": "#template_call_range" } ] }, + "9": { }, + "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" } + }, + "endCaptures": { + "1": { "name": "punctuation.terminator.statement.cpp" }, + "2": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.block.enum.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.enum.cpp" } }, + "name": "meta.head.enum.cpp", + "patterns": [ { "include": "$self" } ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.enum.cpp" } }, + "name": "meta.body.enum.cpp", + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#enumerator_list" }, + { "include": "#comments" }, + { "include": "#comma" }, + { "include": "#semicolon" } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.enum.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "enum_declare": { + "match": "((?|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.class.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "class_declare": { - "match": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.extern.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "storage.type.extern.cpp" } + }, + "endCaptures": { + "1": { "name": "punctuation.terminator.statement.cpp" }, + "2": { "name": "punctuation.terminator.statement.cpp" } + }, + "name": "meta.block.extern.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.extern.cpp" } }, + "name": "meta.head.extern.cpp", + "patterns": [ { "include": "$self" } ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.extern.cpp" } }, + "name": "meta.body.extern.cpp", + "patterns": [ { "include": "$self" } ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.extern.cpp", + "patterns": [ { "include": "$self" } ] + }, + { "include": "$self" } + ] + }, + "function_body_context": { + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#using_namespace" }, + { "include": "#type_alias" }, + { "include": "#using_name" }, + { "include": "#namespace_alias" }, + { "include": "#typedef_class" }, + { "include": "#typedef_struct" }, + { "include": "#typedef_union" }, + { "include": "#misc_keywords" }, + { "include": "#standard_declares" }, + { "include": "#class_block" }, + { "include": "#struct_block" }, + { "include": "#union_block" }, + { "include": "#enum_block" }, + { "include": "#access_control_keywords" }, + { "include": "#block" }, + { "include": "#static_assert" }, + { "include": "#assembly" }, + { "include": "#function_pointer" }, + { "include": "#switch_statement" }, + { "include": "#goto_statement" }, + { "include": "#evaluation_context" }, + { "include": "#label" } + ] + }, + "function_call": { + "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.function.call.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "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" } + }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" } }, + "patterns": [ { "include": "#evaluation_context" } ] + }, + "function_definition": { + "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.cpp" }, + "1": { "name": "storage.type.template.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "7": { + "patterns": [ + { + "match": "((?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "14": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "17": { "name": "comment.block.cpp" }, + "18": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "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": "(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "captures": { + "1": { "name": "punctuation.definition.function.return-type.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "7": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "10": { "name": "comment.block.cpp" }, + "11": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "14": { "name": "comment.block.cpp" }, + "15": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "16": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.function.definition.cpp" } }, + "name": "meta.body.function.definition.cpp", + "patterns": [ { "include": "#function_body_context" } ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.cpp", + "patterns": [ { "include": "$self" } ] } - } - } - ] + ] }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "function_parameter_context": { + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#parameter" }, + { "include": "#comma" } + ] }, - "11": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { "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" - } - } - } - ] - }, - "12": { - "name": "variable.other.object.declare.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "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": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "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": "(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" - }, - "2": { - "name": "markup.italic.doxygen.cpp" - } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" - }, - "2": { - "name": "markup.bold.doxygen.cpp" - } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" - }, - "2": { - "name": "markup.inline.raw.string.cpp" - } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { - "patterns": [ - { - "match": "in|out", - "name": "keyword.other.parameter.direction.$0.cpp" - } - ] + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] + }, + "3": { "name": "keyword.control.directive.$5.cpp" }, + "4": { "name": "punctuation.definition.directive.cpp" }, + "6": { "name": "string.quoted.other.lt-gt.include.cpp" }, + "7": { "name": "punctuation.definition.string.begin.cpp" }, + "8": { "name": "punctuation.definition.string.end.cpp" }, + "9": { "patterns": [ { "include": "#inline_comment" } ] }, + "10": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - "3": { - "patterns": [ - { - "match": "(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" + "match": ",", + "name": "punctuation.separator.delimiter.comma.inheritance.cpp" }, { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" - }, - "2": { - "name": "markup.italic.doxygen.cpp" - } - } + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "captures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] + }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];=]))", + "end": "(?<=[;}])", + "beginCaptures": { + "1": { "name": "punctuation.definition.capture.begin.lambda.cpp" }, + "2": { + "name": "meta.lambda.capture.cpp", + "patterns": [ + { "include": "#the_this_keyword" }, + { + "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", + "captures": { + "1": { "name": "variable.parameter.capture.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { "name": "punctuation.separator.delimiter.comma.cpp" }, + "7": { "name": "keyword.operator.assignment.cpp" } + } + }, + { "include": "#evaluation_context" } + ] }, + "3": { }, + "4": { "name": "punctuation.definition.capture.end.lambda.cpp" }, + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "7": { "name": "comment.block.cpp" }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } + }, + "endCaptures": { }, + "patterns": [ { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" + "begin": "\\(", + "end": "\\)", + "beginCaptures": { "0": { "name": "punctuation.definition.parameters.begin.lambda.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.definition.parameters.end.lambda.cpp" } }, + "name": "meta.function.definition.parameters.lambda.cpp", + "patterns": [ { "include": "#function_parameter_context" } ] }, { - "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" + "match": "(?", + "end": "(?=\\{)", + "beginCaptures": { "0": { "name": "punctuation.definition.lambda.return-type.cpp" } }, + "endCaptures": { }, + "patterns": [ + { "include": "#comments" }, { - "match": "in|out", - "name": "keyword.other.parameter.direction.$0.cpp" + "match": "\\S+", + "name": "storage.type.return-type.lambda.cpp" } - ] - }, - "3": { - "patterns": [ - { - "match": "(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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*!\\/])[\\\\@](?: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" + "3": { "name": "variable.language.this.cpp" }, + "4": { "name": "variable.other.object.access.cpp" }, + "5": { "name": "punctuation.separator.dot-access.cpp" }, + "6": { "name": "punctuation.separator.pointer-access.cpp" }, + "7": { + "patterns": [ + { + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "variable.language.this.cpp" }, + "6": { "name": "variable.other.object.property.cpp" }, + "7": { "name": "punctuation.separator.dot-access.cpp" }, + "8": { "name": "punctuation.separator.pointer-access.cpp" } + } + }, + { + "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "variable.language.this.cpp" }, + "6": { "name": "variable.other.object.access.cpp" }, + "7": { "name": "punctuation.separator.dot-access.cpp" }, + "8": { "name": "punctuation.separator.pointer-access.cpp" } + } + }, + { "include": "#member_access" }, + { "include": "#method_access" } + ] }, - { - "match": "(?:\\b[A-Z]+:|@[a-z_]+:)", - "name": "storage.type.class.gtkdoc.cpp" - } - ] - }, - "3": { - "name": "punctuation.definition.comment.end.documentation.cpp" + "8": { "name": "variable.other.property.cpp" } } - }, - "name": "comment.block.documentation.cpp" }, - { - "begin": "(?:(?:\\s)+)?+\\/\\*[!*]+(?:(?:(?:\\n)|$)|(?=\\s))", - "end": "[!*]*\\*\\/", - "beginCaptures": { - "0": { - "name": "punctuation.definition.comment.begin.documentation.cpp" - } - }, - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" - }, + "memory_operators": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { - "name": "markup.italic.doxygen.cpp" - } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] + }, + "3": { "name": "keyword.operator.wordlike.cpp" }, + "4": { "name": "keyword.operator.delete.array.cpp" }, + "5": { "name": "keyword.operator.delete.array.bracket.cpp" }, + "6": { "name": "keyword.operator.delete.cpp" }, + "7": { "name": "keyword.operator.new.cpp" } + } + }, + "method_access": { + "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "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": [ + { + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "variable.language.this.cpp" }, + "6": { "name": "variable.other.object.property.cpp" }, + "7": { "name": "punctuation.separator.dot-access.cpp" }, + "8": { "name": "punctuation.separator.pointer-access.cpp" } + } + }, + { + "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "variable.language.this.cpp" }, + "6": { "name": "variable.other.object.access.cpp" }, + "7": { "name": "punctuation.separator.dot-access.cpp" }, + "8": { "name": "punctuation.separator.pointer-access.cpp" } + } + }, + { "include": "#member_access" }, + { "include": "#method_access" } + ] }, - "2": { - "name": "markup.bold.doxygen.cpp" - } - } + "10": { "name": "entity.name.function.member.cpp" }, + "11": { "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp" } }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)", - "captures": { - "1": { - "name": "storage.type.class.doxygen.cpp" - }, + "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp" } }, + "patterns": [ { "include": "#evaluation_context" } ] + }, + "misc_keywords": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.constructor.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.namespace.cpp" }, + "1": { "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" } }, - { - "begin": ":", - "end": "(?=\\{)", - "beginCaptures": { + "endCaptures": { }, + "name": "meta.block.namespace.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp" } }, + "name": "meta.head.namespace.cpp", + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#attributes_context" }, + { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.namespace.cpp" } }, + "name": "meta.body.namespace.cpp", + "patterns": [ { "include": "$self" } ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.namespace.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "noexcept_operator": { + "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "entity.name.function.call.initializer.cpp" - }, - "2": { - "name": "meta.template.call.cpp", - "patterns": [ + } + }, + "operator_overload": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.function.definition.special.operator-overload.cpp" }, + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "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": "(?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.function.definition.special.operator-overload.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "operators": { + "patterns": [ + { + "begin": "((?|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.constructor.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "constructor_root": { - "begin": "\\s*+((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.constructor.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "name": "storage.type.modifier.calling-convention.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "10": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" - }, - { - "match": "(?>=|\\|=", + "name": "keyword.operator.assignment.compound.bitwise.cpp" }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + { + "match": "<<|>>", + "name": "keyword.operator.bitwise.shift.cpp" }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + { + "match": "!=|<=|>=|==|<|>", + "name": "keyword.operator.comparison.cpp" }, - "4": { - "name": "comment.block.cpp" + { + "match": "&&|!|\\|\\|", + "name": "keyword.operator.logical.cpp" }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + { + "match": "&|\\||\\^|~", + "name": "keyword.operator.bitwise.cpp" }, - "6": { - "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp" + { "include": "#assignment_operator" }, + { + "match": "%|\\*|\\/|-|\\+", + "name": "keyword.operator.arithmetic.cpp" }, - "7": { - "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp" - } - } - }, - { - "include": "#functional_specifiers_pre_parameters" - }, - { - "begin": ":", - "end": "(?=\\{)", - "beginCaptures": { - "0": { - "name": "punctuation.separator.initializers.cpp" - } - }, - "endCaptures": { - }, - "patterns": [ + { "include": "#ternary_operator" } + ] + }, + "over_qualified_types": { + "patterns": [ { - "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "name": "entity.name.function.call.initializer.cpp" - }, - "2": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" + "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.constructor.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "control_flow_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)", - "end": "\\}", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "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": "(?]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "3": { - "name": "keyword.control.directive.import.cpp" - }, - "5": { - "name": "string.quoted.other.lt-gt.include.cpp" - }, - "6": { - "name": "punctuation.definition.string.begin.cpp" - }, - "7": { - "name": "punctuation.definition.string.end.cpp" - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "10": { - "name": "string.quoted.double.include.cpp" - }, - "11": { - "name": "punctuation.definition.string.begin.cpp" - }, - "12": { - "name": "punctuation.definition.string.end.cpp" - }, - "13": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "14": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "15": { - "name": "entity.name.other.preprocessor.macro.include.cpp" - }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "17": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "18": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "19": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "20": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "21": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "22": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.preprocessor.import.cpp" - }, - "d9bc4796b0b_preprocessor_number_literal": { - "match": "(?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.member.destructor.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "7": { - "name": "comment.block.cpp" - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "9": { - "name": "storage.type.modifier.calling-convention.cpp" - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "12": { - "name": "comment.block.cpp" - }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "14": { - "patterns": [ - { - "include": "#functional_specifiers_pre_parameters" - } - ] - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "17": { - "name": "comment.block.cpp" - }, - "18": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "19": { - "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" - } - }, - "endCaptures": { - }, - "name": "meta.function.definition.special.member.destructor.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "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" - }, - { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", - "captures": { - "1": { - "name": "keyword.operator.assignment.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp" - }, - "7": { - "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp" - } - } - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" - } - }, - "contentName": "meta.function.definition.parameters.special.member.destructor", - "patterns": [ - - ] - }, - { - "include": "#qualifiers_and_specifiers_post_parameters" - }, - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.member.destructor.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "destructor_root": { - "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.member.destructor.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "name": "storage.type.modifier.calling-convention.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "10": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" - }, - { - "match": "(?|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.member.destructor.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "diagnostic": { - "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?", - "end": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.enum.cpp" - }, - "1": { - "name": "storage.type.enum.cpp" - }, - "2": { - "name": "storage.type.enum.enum-key.$2.cpp" - }, - "3": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "4": { - "name": "entity.name.type.enum.cpp" - }, - "5": { - "name": "punctuation.separator.colon.type-specifier.cpp" - }, - "6": { - "patterns": [ - { - "include": "#scope_resolution_inner_generated" - } - ] - }, - "7": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - "8": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "9": { - }, - "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" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" - }, - "2": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.block.enum.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.enum.cpp" - } - }, - "name": "meta.head.enum.cpp", - "patterns": [ - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.enum.cpp" - } - }, - "name": "meta.body.enum.cpp", - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#enumerator_list" - }, - { - "include": "#comments" - }, - { - "include": "#comma" - }, - { - "include": "#semicolon" - } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.enum.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "enum_declare": { - "match": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.extern.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "name": "storage.type.extern.cpp" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" - }, - "2": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.block.extern.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.extern.cpp" - } - }, - "name": "meta.head.extern.cpp", - "patterns": [ - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.extern.cpp" - } - }, - "name": "meta.body.extern.cpp", - "patterns": [ - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.extern.cpp", - "patterns": [ - { - "include": "$self" - } - ] - }, - { - "include": "$self" - } - ] - }, - "function_body_context": { - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#using_namespace" - }, - { - "include": "#type_alias" - }, - { - "include": "#using_name" - }, - { - "include": "#namespace_alias" - }, - { - "include": "#typedef_class" - }, - { - "include": "#typedef_struct" - }, - { - "include": "#typedef_union" - }, - { - "include": "#misc_keywords" - }, - { - "include": "#standard_declares" - }, - { - "include": "#class_block" - }, - { - "include": "#struct_block" - }, - { - "include": "#union_block" - }, - { - "include": "#enum_block" - }, - { - "include": "#access_control_keywords" - }, - { - "include": "#block" - }, - { - "include": "#static_assert" - }, - { - "include": "#assembly" - }, - { - "include": "#function_pointer" - }, - { - "include": "#switch_statement" - }, - { - "include": "#goto_statement" - }, - { - "include": "#evaluation_context" - }, - { - "include": "#label" - } - ] - }, - "function_call": { - "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_function_call_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.function.call.cpp" - }, - "6": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "7": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "8": { - "name": "comment.block.cpp" - }, - "9": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "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" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" - } - }, - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "function_definition": { - "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.cpp" - }, - "1": { - "name": "storage.type.template.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "match": "((?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "14": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "17": { - "name": "comment.block.cpp" - }, - "18": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "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": "(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", - "captures": { - "1": { - "name": "punctuation.definition.function.return-type.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "9": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "10": { - "name": "comment.block.cpp" - }, - "11": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "14": { - "name": "comment.block.cpp" - }, - "15": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "16": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "function_parameter_context": { - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#parameter" - }, - { - "include": "#comma" - } - ] - }, - "function_pointer": { - "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "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": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "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": "(?]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "3": { - "name": "keyword.control.directive.$5.cpp" - }, - "4": { - "name": "punctuation.definition.directive.cpp" - }, - "6": { - "name": "string.quoted.other.lt-gt.include.cpp" - }, - "7": { - "name": "punctuation.definition.string.begin.cpp" - }, - "8": { - "name": "punctuation.definition.string.end.cpp" - }, - "9": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "10": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "11": { - "name": "string.quoted.double.include.cpp" - }, - "12": { - "name": "punctuation.definition.string.begin.cpp" - }, - "13": { - "name": "punctuation.definition.string.end.cpp" - }, - "14": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "15": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "16": { - "name": "entity.name.other.preprocessor.macro.include.cpp" - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "21": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "22": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - } - }, - "name": "meta.preprocessor.include.cpp" - }, - "inheritance_context": { - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "match": ",", - "name": "punctuation.separator.delimiter.comma.inheritance.cpp" - }, - { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", - "captures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];=]))", - "end": "(?<=[;}])", - "beginCaptures": { - "1": { - "name": "punctuation.definition.capture.begin.lambda.cpp" - }, - "2": { - "name": "meta.lambda.capture.cpp", - "patterns": [ - { - "include": "#the_this_keyword" - }, - { - "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", - "captures": { - "1": { - "name": "variable.parameter.capture.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "name": "punctuation.separator.delimiter.comma.cpp" - }, - "7": { - "name": "keyword.operator.assignment.cpp" - } - } - }, - { - "include": "#evaluation_context" - } - ] - }, - "3": { - }, - "4": { - "name": "punctuation.definition.capture.end.lambda.cpp" - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "7": { - "name": "comment.block.cpp" - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - }, - "endCaptures": { - }, - "patterns": [ - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { - "0": { - "name": "punctuation.definition.parameters.begin.lambda.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.definition.parameters.end.lambda.cpp" - } - }, - "name": "meta.function.definition.parameters.lambda.cpp", - "patterns": [ - { - "include": "#function_parameter_context" - } - ] - }, - { - "match": "(?", - "end": "(?=\\{)", - "beginCaptures": { - "0": { - "name": "punctuation.definition.lambda.return-type.cpp" - } - }, - "endCaptures": { - }, - "patterns": [ - { - "include": "#comments" - }, - { - "match": "\\S+", - "name": "storage.type.return-type.lambda.cpp" - } - ] - }, - { - "begin": "\\{", - "end": "\\}", - "beginCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.lambda.cpp" - } - }, - "name": "meta.function.definition.body.lambda.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "language_constants": { - "match": "(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "3": { - "name": "variable.language.this.cpp" - }, - "4": { - "name": "variable.other.object.access.cpp" - }, - "5": { - "name": "punctuation.separator.dot-access.cpp" - }, - "6": { - "name": "punctuation.separator.pointer-access.cpp" - }, - "7": { - "patterns": [ - { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "name": "variable.language.this.cpp" - }, - "6": { - "name": "variable.other.object.property.cpp" - }, - "7": { - "name": "punctuation.separator.dot-access.cpp" - }, - "8": { - "name": "punctuation.separator.pointer-access.cpp" - } - } - }, - { - "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "name": "variable.language.this.cpp" - }, - "6": { - "name": "variable.other.object.access.cpp" - }, - "7": { - "name": "punctuation.separator.dot-access.cpp" - }, - "8": { - "name": "punctuation.separator.pointer-access.cpp" - } - } - }, - { - "include": "#member_access" - }, - { - "include": "#method_access" - } - ] - }, - "8": { - "name": "variable.other.property.cpp" - } - } - }, - "memory_operators": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "3": { - "name": "keyword.operator.wordlike.cpp" - }, - "4": { - "name": "keyword.operator.delete.array.cpp" - }, - "5": { - "name": "keyword.operator.delete.array.bracket.cpp" - }, - "6": { - "name": "keyword.operator.delete.cpp" - }, - "7": { - "name": "keyword.operator.new.cpp" - } - } - }, - "method_access": { - "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "name": "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": [ - { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "name": "variable.language.this.cpp" - }, - "6": { - "name": "variable.other.object.property.cpp" - }, - "7": { - "name": "punctuation.separator.dot-access.cpp" - }, - "8": { - "name": "punctuation.separator.pointer-access.cpp" - } - } - }, - { - "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "name": "variable.language.this.cpp" - }, - "6": { - "name": "variable.other.object.access.cpp" - }, - "7": { - "name": "punctuation.separator.dot-access.cpp" - }, - "8": { - "name": "punctuation.separator.pointer-access.cpp" - } - } - }, - { - "include": "#member_access" - }, - { - "include": "#method_access" - } - ] - }, - "10": { - "name": "entity.name.function.member.cpp" - }, - "11": { - "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp" - } - }, - "patterns": [ - { - "include": "#evaluation_context" - } - ] - }, - "misc_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.namespace.cpp" - }, - "1": { - "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" - } - }, - "endCaptures": { - }, - "name": "meta.block.namespace.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp" - } - }, - "name": "meta.head.namespace.cpp", - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#attributes_context" - }, - { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.namespace.cpp" - } - }, - "name": "meta.body.namespace.cpp", - "patterns": [ - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.namespace.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "noexcept_operator": { - "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.operator-overload.cpp" - }, - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "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": "(?|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.operator-overload.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "operators": { - "patterns": [ - { - "begin": "((?>=|\\|=", - "name": "keyword.operator.assignment.compound.bitwise.cpp" - }, - { - "match": "<<|>>", - "name": "keyword.operator.bitwise.shift.cpp" - }, - { - "match": "!=|<=|>=|==|<|>", - "name": "keyword.operator.comparison.cpp" - }, - { - "match": "&&|!|\\|\\|", - "name": "keyword.operator.logical.cpp" - }, - { - "match": "&|\\||\\^|~", - "name": "keyword.operator.bitwise.cpp" - }, - { - "include": "#assignment_operator" - }, - { - "match": "%|\\*|\\/|-|\\+", - "name": "keyword.operator.arithmetic.cpp" - }, - { - "include": "#ternary_operator" - } - ] - }, - "over_qualified_types": { - "patterns": [ - { - "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", - "captures": { - "0": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "1": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "4": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "5": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "6": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_function_call": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_function_call_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_function_call_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_function_call_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.function.call.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - } - } - }, - "scope_resolution_function_definition": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_function_definition_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_function_definition_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_function_definition_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.function.definition.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" - } - } - }, - "scope_resolution_function_definition_operator_overload": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_function_definition_operator_overload_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_function_definition_operator_overload_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_function_definition_operator_overload_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" - } - } - }, - "scope_resolution_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - } - } - }, - "scope_resolution_namespace_alias": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_namespace_alias_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_namespace_alias_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_namespace_alias_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.namespace.alias.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" - } - } - }, - "scope_resolution_namespace_block": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_namespace_block_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_namespace_block_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_namespace_block_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.namespace.block.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" - } - } - }, - "scope_resolution_namespace_using": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_namespace_using_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_namespace_using_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_namespace_using_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.namespace.using.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" - } - } - }, - "scope_resolution_parameter": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_parameter_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_parameter_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_parameter_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.parameter.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" - } - } - }, - "scope_resolution_template_call": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_template_call_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_template_call_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_template_call_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.template.call.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" - } - } - }, - "scope_resolution_template_definition": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#scope_resolution_template_definition_inner_generated" - } - ] - }, - "1": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" - }, - "2": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - } - } - }, - "scope_resolution_template_definition_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", - "captures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_template_definition_inner_generated" - } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.scope-resolution.template.definition.cpp" - }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "7": { - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" - } - } - }, - "semicolon": { - "match": ";", - "name": "punctuation.terminator.statement.cpp" - }, - "simple_type": { - "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", - "captures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "5": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "6": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.struct.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "patterns": [ - { - "match": "((?|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.struct.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "struct_declare": { - "match": "((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.switch.cpp" - }, - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "5": { - "name": "keyword.control.switch.cpp" - } - }, - "endCaptures": { - }, - "name": "meta.block.switch.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.switch.cpp" - } - }, - "name": "meta.head.switch.cpp", - "patterns": [ - { - "include": "#switch_conditional_parentheses" - }, - { - "include": "$self" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.switch.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "template_argument_defaulted": { - "match": "(?<=<|,)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s)+((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(\\=)", - "captures": { - "1": { - "name": "storage.type.template.argument.$1.cpp" - }, - "2": { - "name": "entity.name.type.template.cpp" - }, - "3": { - "name": "keyword.operator.assignment.cpp" - } - } - }, - "template_call_context": { - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#template_call_range" - }, - { - "include": "#storage_types" - }, - { - "include": "#language_constants" - }, - { - "include": "#scope_resolution_template_call_inner_generated" - }, - { - "include": "#operators" - }, - { - "include": "#number_literal" - }, - { - "include": "#string_context" - }, - { - "include": "#comma_in_template_argument" - }, - { - "include": "#qualified_type" - } - ] - }, - "template_call_innards": { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+", - "captures": { - "0": { - "patterns": [ - { - "include": "#template_call_range" - } - ] - }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - }, - "name": "meta.template.call.cpp" - }, - "template_call_range": { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - "template_definition": { - "begin": "(?", - "beginCaptures": { - "1": { - "name": "storage.type.template.cpp" - }, - "2": { - "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.definition.cpp" - } - }, - "name": "meta.template.definition.cpp", - "patterns": [ - { - "begin": "(?<=\\w)(?:(?:\\s)+)?<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "include": "#template_definition_context" - } - ] - }, - "template_definition_argument": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?)(?:(?:\\s)+)?(class|typename)(?:(?:\\s)+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:(?:\\s)+)?(?:(\\=)(?:(?:\\s)+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))", - "captures": { - "1": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "3": { - "name": "storage.type.template.argument.$3.cpp" - }, - "4": { - "patterns": [ - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "storage.type.template.argument.$0.cpp" - } - ] - }, - "5": { - "name": "entity.name.type.template.cpp" - }, - "6": { - "name": "storage.type.template.argument.$6.cpp" - }, - "7": { - "name": "punctuation.vararg-ellipses.template.definition.cpp" - }, - "8": { - "name": "entity.name.type.template.cpp" - }, - "9": { - "name": "storage.type.template.cpp" - }, - "10": { - "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" - }, - "11": { - "name": "storage.type.template.argument.$11.cpp" - }, - "12": { - "name": "entity.name.type.template.cpp" - }, - "13": { - "name": "punctuation.section.angle-brackets.end.template.definition.cpp" - }, - "14": { - "name": "storage.type.template.argument.$14.cpp" - }, - "15": { - "name": "entity.name.type.template.cpp" - }, - "16": { - "name": "keyword.operator.assignment.cpp" - }, - "17": { - "name": "punctuation.separator.delimiter.comma.template.argument.cpp" - } - } - }, - "template_definition_context": { - "patterns": [ - { - "include": "#scope_resolution_template_definition_inner_generated" - }, - { - "include": "#template_definition_argument" - }, - { - "include": "#template_argument_defaulted" - }, - { - "include": "#template_call_innards" - }, - { - "include": "#evaluation_context" - } - ] - }, - "template_explicit_instantiation": { - "match": "(?)(?:(?:\\s)+)?$", - "captures": { - "1": { - "name": "storage.type.template.cpp" - }, - "2": { - "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" - }, - "3": { - "name": "meta.template.definition.cpp", - "patterns": [ - { - "include": "#template_definition_context" - } - ] - }, - "4": { - "name": "punctuation.section.angle-brackets.end.template.definition.cpp" - } - } - }, - "ternary_operator": { - "begin": "\\?", - "end": ":", - "beginCaptures": { - "0": { - "name": "keyword.operator.ternary.cpp" - } - }, - "endCaptures": { - "0": { - "name": "keyword.operator.ternary.cpp" - } - }, - "patterns": [ - { - "include": "#ever_present_context" - }, - { - "include": "#string_context" - }, - { - "include": "#number_literal" - }, - { - "include": "#method_access" - }, - { - "include": "#member_access" - }, - { - "include": "#predefined_macros" - }, - { - "include": "#operators" - }, - { - "include": "#memory_operators" - }, - { - "include": "#wordlike_operators" - }, - { - "include": "#type_casting_operators" - }, - { - "include": "#control_flow_keywords" - }, - { - "include": "#exception_keywords" - }, - { - "include": "#the_this_keyword" - }, - { - "include": "#language_constants" - }, - { - "include": "#builtin_storage_type_initilizer" - }, - { - "include": "#qualifiers_and_specifiers_post_parameters" - }, - { - "include": "#functional_specifiers_pre_parameters" - }, - { - "include": "#storage_types" - }, - { - "include": "#lambdas" - }, - { - "include": "#attributes_context" - }, - { - "include": "#parentheses" - }, - { - "include": "#function_call" - }, - { - "include": "#scope_resolution_inner_generated" - }, - { - "include": "#square_brackets" - }, - { - "include": "#semicolon" - }, - { - "include": "#comma" - } - ], - "applyEndPatternLast": 1 - }, - "the_this_keyword": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "9": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "10": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "11": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "14": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.class.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "patterns": [ - { - "match": "((?|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.class.cpp" - } - }, - "name": "meta.body.class.cpp", - "patterns": [ - { - "include": "#function_pointer" + "14": { "name": "variable.other.object.declare.cpp" }, + "15": { "patterns": [ { "include": "#inline_comment" } ] }, + "16": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - { - "include": "#static_assert" + "17": { "patterns": [ { "include": "#inline_comment" } ] }, + "18": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - { - "include": "#constructor_inline" + "19": { "patterns": [ { "include": "#inline_comment" } ] }, + "20": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] + } + } + }, + "parameter_or_maybe_value": { + "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=\\w)", + "end": "(?:(?=\\))|(,))", + "beginCaptures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } + }, + "endCaptures": { "1": { "name": "punctuation.separator.delimiter.comma.cpp" } }, + "name": "meta.parameter.cpp", + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#function_pointer_parameter" }, + { "include": "#memory_operators" }, + { "include": "#builtin_storage_type_initilizer" }, + { "include": "#curly_initializer" }, + { "include": "#decltype" }, + { "include": "#vararg_ellipses" }, + { + "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)*+(?|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.class.cpp", - "patterns": [ - { - "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)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#attributes_context" + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - { - "include": "#number_literal" - } - ] - }, - "3": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "5": { - "name": "comment.block.cpp" - }, - "6": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "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" + "12": { "patterns": [ { "include": "#inline_comment" } ] }, + "13": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", + "captures": { + "0": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] - }, - "20": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "21": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "22": { - "name": "comment.block.cpp" - }, - "23": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "24": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "25": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "26": { - "name": "comment.block.cpp" - }, - "27": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "28": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "29": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "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" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - }, - "patterns": [ - { - "include": "#function_parameter_context" - } - ] - } - ] - }, - "typedef_struct": { - "begin": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.struct.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" + "1": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "patterns": [ - { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } } - }, - "name": "meta.block.struct.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.begin.bracket.curly.struct.cpp" - } - }, - "name": "meta.head.struct.cpp", - "patterns": [ - { - "include": "#ever_present_context" + }, + "scope_resolution_function_call": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } + } + }, + "scope_resolution_function_call_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.function.call.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" } + } + }, + "scope_resolution_function_definition": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } + } + }, + "scope_resolution_function_definition_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.function.definition.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" } + } + }, + "scope_resolution_function_definition_operator_overload": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } + } + }, + "scope_resolution_function_definition_operator_overload_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" } + } + }, + "scope_resolution_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" } + } + }, + "scope_resolution_namespace_alias": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } + } + }, + "scope_resolution_namespace_alias_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.namespace.alias.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" } + } + }, + "scope_resolution_namespace_block": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_namespace_block_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } + } + }, + "scope_resolution_namespace_block_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_namespace_block_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.namespace.block.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" } + } + }, + "scope_resolution_namespace_using": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_namespace_using_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } + } + }, + "scope_resolution_namespace_using_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_namespace_using_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.namespace.using.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" } + } + }, + "scope_resolution_parameter": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_parameter_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } + } + }, + "scope_resolution_parameter_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_parameter_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.parameter.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" } + } + }, + "scope_resolution_template_call": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_template_call_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } + } + }, + "scope_resolution_template_call_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_template_call_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.template.call.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] + }, + "7": { }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" } + } + }, + "scope_resolution_template_definition": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "captures": { + "0": { "patterns": [ { "include": "#scope_resolution_template_definition_inner_generated" } ] }, + "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, + "2": { "patterns": [ { "include": "#template_call_range" } ] } + } + }, + "scope_resolution_template_definition_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "captures": { + "1": { "patterns": [ { "include": "#scope_resolution_template_definition_inner_generated" } ] }, + "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, + "3": { "patterns": [ { "include": "#template_call_range" } ] }, + "4": { }, + "5": { "name": "entity.name.scope-resolution.template.definition.cpp" }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_range" } ] }, - { - "include": "#inheritance_context" + "7": { }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" } + } + }, + "semicolon": { + "match": ";", + "name": "punctuation.terminator.statement.cpp" + }, + "simple_type": { + "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", + "captures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] }, - { - "include": "#template_call_range" - } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.struct.cpp" - } - }, - "name": "meta.body.struct.cpp", - "patterns": [ - { - "include": "#function_pointer" + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, - { - "include": "#static_assert" + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - { - "include": "#constructor_inline" + "5": { "patterns": [ { "include": "#inline_comment" } ] }, + "6": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - { - "include": "#destructor_inline" + "7": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.struct.cpp", - "patterns": [ - { - "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)))((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.union.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "patterns": [ + "match": "((?|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.union.cpp" + "begin": "((?:u|u8|U|L)?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[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?", + "endCaptures": { + "1": { "name": "punctuation.definition.string.end" }, + "2": { "name": "invalid.illegal.delimiter-too-long" }, + "3": { "name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp" }, + "4": { "name": "keyword.other.suffix.literal.user-defined.string.cpp" } + }, + "name": "string.quoted.double.raw" } - }, - "name": "meta.body.union.cpp", - "patterns": [ - { - "include": "#function_pointer" - }, - { - "include": "#static_assert" - }, + ] + }, + "string_escapes_context_c": { + "patterns": [ { - "include": "#constructor_inline" + "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", + "name": "constant.character.escape" }, { - "include": "#destructor_inline" + "match": "\\\\.", + "name": "invalid.illegal.unknown-escape" }, { - "include": "$self" + "match": "(?x) (?!%')(?!%\")%\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type", + "name": "constant.other.placeholder" } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.union.cpp", - "patterns": [ - { - "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)))((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.struct.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { + "patterns": [ { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" + "match": "((?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.struct.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "struct_declare": { + "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", - "captures": { - "1": { - "name": "storage.modifier.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "8": { "patterns": [ { "include": "#inline_comment" } ] }, + "9": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "10": { "patterns": [ { "include": "#inline_comment" } ] }, + "11": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } - } - ] - }, - "4": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "5": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "12": { "name": "variable.other.object.declare.cpp" }, + "13": { "patterns": [ { "include": "#inline_comment" } ] }, + "14": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] + } + } + }, + "switch_conditional_parentheses": { + "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\()", + "end": "\\)", + "beginCaptures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp" } + }, + "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)))((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.switch.cpp" }, + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "keyword.control.switch.cpp" } + }, + "endCaptures": { }, + "name": "meta.block.switch.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { }, + "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.switch.cpp" } }, + "name": "meta.head.switch.cpp", + "patterns": [ + { "include": "#switch_conditional_parentheses" }, + { "include": "$self" } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.switch.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "template_argument_defaulted": { + "match": "(?<=<|,)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s)+((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(\\=)", + "captures": { + "1": { "name": "storage.type.template.argument.$1.cpp" }, + "2": { "name": "entity.name.type.template.cpp" }, + "3": { "name": "keyword.operator.assignment.cpp" } + } + }, + "template_call_context": { + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#template_call_range" }, + { "include": "#storage_types" }, + { "include": "#language_constants" }, + { "include": "#scope_resolution_template_call_inner_generated" }, + { "include": "#operators" }, + { "include": "#number_literal" }, + { "include": "#string_context" }, + { "include": "#comma_in_template_argument" }, + { "include": "#qualified_type" } + ] + }, + "template_call_innards": { + "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+", + "captures": { + "0": { "patterns": [ { "include": "#template_call_range" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } + }, + "name": "meta.template.call.cpp" + }, + "template_call_range": { + "begin": "<", + "end": ">", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + "template_definition": { + "begin": "(?", + "beginCaptures": { + "1": { "name": "storage.type.template.cpp" }, + "2": { "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" } + }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.definition.cpp" } }, + "name": "meta.template.definition.cpp", + "patterns": [ + { + "begin": "(?<=\\w)(?:(?:\\s)+)?<", + "end": ">", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "patterns": [ { "include": "#template_call_context" } ] + }, + { "include": "#template_definition_context" } + ] + }, + "template_definition_argument": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?)(?:(?:\\s)+)?(class|typename)(?:(?:\\s)+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:(?:\\s)+)?(?:(\\=)(?:(?:\\s)+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, - "2": { - "name": "comment.block.cpp" + "3": { "name": "storage.type.template.argument.$3.cpp" }, + "4": { + "patterns": [ + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "storage.type.template.argument.$0.cpp" + } + ] + }, + "5": { "name": "entity.name.type.template.cpp" }, + "6": { "name": "storage.type.template.argument.$6.cpp" }, + "7": { "name": "punctuation.vararg-ellipses.template.definition.cpp" }, + "8": { "name": "entity.name.type.template.cpp" }, + "9": { "name": "storage.type.template.cpp" }, + "10": { "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" }, + "11": { "name": "storage.type.template.argument.$11.cpp" }, + "12": { "name": "entity.name.type.template.cpp" }, + "13": { "name": "punctuation.section.angle-brackets.end.template.definition.cpp" }, + "14": { "name": "storage.type.template.argument.$14.cpp" }, + "15": { "name": "entity.name.type.template.cpp" }, + "16": { "name": "keyword.operator.assignment.cpp" }, + "17": { "name": "punctuation.separator.delimiter.comma.template.argument.cpp" } + } + }, + "template_definition_context": { + "patterns": [ + { "include": "#scope_resolution_template_definition_inner_generated" }, + { "include": "#template_definition_argument" }, + { "include": "#template_argument_defaulted" }, + { "include": "#template_call_innards" }, + { "include": "#evaluation_context" } + ] + }, + "template_explicit_instantiation": { + "match": "(?)(?:(?:\\s)+)?$", + "captures": { + "1": { "name": "storage.type.template.cpp" }, + "2": { "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" }, + "3": { + "name": "meta.template.definition.cpp", + "patterns": [ { "include": "#template_definition_context" } ] + }, + "4": { "name": "punctuation.section.angle-brackets.end.template.definition.cpp" } + } + }, + "ternary_operator": { + "begin": "\\?", + "end": ":", + "beginCaptures": { "0": { "name": "keyword.operator.ternary.cpp" } }, + "endCaptures": { "0": { "name": "keyword.operator.ternary.cpp" } }, + "patterns": [ + { "include": "#ever_present_context" }, + { "include": "#string_context" }, + { "include": "#number_literal" }, + { "include": "#method_access" }, + { "include": "#member_access" }, + { "include": "#predefined_macros" }, + { "include": "#operators" }, + { "include": "#memory_operators" }, + { "include": "#wordlike_operators" }, + { "include": "#type_casting_operators" }, + { "include": "#control_flow_keywords" }, + { "include": "#exception_keywords" }, + { "include": "#the_this_keyword" }, + { "include": "#language_constants" }, + { "include": "#builtin_storage_type_initilizer" }, + { "include": "#qualifiers_and_specifiers_post_parameters" }, + { "include": "#functional_specifiers_pre_parameters" }, + { "include": "#storage_types" }, + { "include": "#lambdas" }, + { "include": "#attributes_context" }, + { "include": "#parentheses" }, + { "include": "#function_call" }, + { "include": "#scope_resolution_inner_generated" }, + { "include": "#square_brackets" }, + { "include": "#semicolon" }, + { "include": "#comma" } + ], + "applyEndPatternLast": 1 + }, + "the_this_keyword": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "8": { - "patterns": [ - { - "include": "#inline_comment" + "3": { "name": "variable.language.this.cpp" } } - ] }, - "9": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "captures": { - "1": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "2": { - "name": "comment.block.cpp" - }, + "type_alias": { + "match": "(using)(?:\\s)+(?!namespace)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] }, - "2": { - "name": "comment.block.cpp" + "9": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } - } - ] - }, - "17": { - } - } - }, - "undef": { - "match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.union.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" - }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "patterns": [ - { - "match": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.class.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.class.cpp", + "patterns": [ + { + "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)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "3": { "patterns": [ { "include": "#inline_comment" } ] }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "5": { "name": "comment.block.cpp" }, + "6": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "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": "(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.struct.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.struct.cpp", + "patterns": [ + { + "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)))((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.union.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.union.cpp", + "patterns": [ + { + "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)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "captures": { + "1": { "name": "storage.modifier.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, + "4": { "patterns": [ { "include": "#inline_comment" } ] }, "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" } + } + } + ] }, "6": { - "name": "storage.type.modifier.final.cpp" + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, + "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, + "name": "meta.template.call.cpp", + "patterns": [ { "include": "#template_call_context" } ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] }, "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - } - } - }, - { - "match": "DLLEXPORT", - "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" - } - ] - }, - "12": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "13": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "14": { - "name": "comment.block.cpp" - }, - "15": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "16": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "17": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "18": { - "name": "comment.block.cpp" - }, - "19": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "20": { - "name": "punctuation.separator.colon.inheritance.cpp" - } - }, - "endCaptures": { - "1": { - "name": "punctuation.terminator.statement.cpp" - }, - "2": { - "name": "punctuation.terminator.statement.cpp" - } - }, - "name": "meta.block.union.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { - }, - "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": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { - }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.union.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "union_declare": { - "match": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { "name": "meta.head.union.cpp" }, + "1": { "name": "storage.type.$1.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { + "patterns": [ + { "include": "#attributes_context" }, + { "include": "#number_literal" } + ] + }, + "7": { "patterns": [ { "include": "#inline_comment" } ] }, + "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "9": { "name": "comment.block.cpp" }, + "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { }, + "endCaptures": { }, + "name": "meta.tail.union.cpp", + "patterns": [ { "include": "$self" } ] + } + ] + }, + "union_declare": { + "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((? Date: Fri, 3 Feb 2023 15:44:19 -0600 Subject: [PATCH 15/65] remove redundant --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 156 +++++++--------- language_examples/#621.spec.yaml | 175 ++++++++++++++++++ 3 files changed, 246 insertions(+), 87 deletions(-) create mode 100644 language_examples/#621.spec.yaml diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 986c477b..b2bfb24a 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()","end":"\\)|(?=(?|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()","end":"\\)|(?=(?|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, @@ -772,16 +772,12 @@ "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" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "12": { "name": "comment.block.cpp" }, - "13": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "14": { "name": "storage.type.modifier.calling-convention.cpp" }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "17": { "name": "comment.block.cpp" }, - "18": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "19": { "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" } + "10": { "name": "storage.type.modifier.calling-convention.cpp" }, + "11": { "patterns": [ { "include": "#inline_comment" } ] }, + "12": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "13": { "name": "comment.block.cpp" }, + "14": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "15": { "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" } }, "endCaptures": { }, "name": "meta.function.definition.special.constructor.cpp", @@ -884,20 +880,16 @@ ] }, "constructor_root": { - "begin": "\\s*+((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "storage.type.modifier.calling-convention.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "10": { + "1": { "name": "storage.type.modifier.calling-convention.cpp" }, + "2": { "patterns": [ { "include": "#inline_comment" } ] }, + "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { "name": "comment.block.cpp" }, + "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "6": { "patterns": [ { "match": "::", @@ -910,9 +902,9 @@ { "include": "#template_call_range" } ] }, - "11": { "patterns": [ { "include": "#template_call_range" } ] }, - "12": { }, - "13": { + "7": { "patterns": [ { "include": "#template_call_range" } ] }, + "8": { }, + "9": { "patterns": [ { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?=:)", @@ -928,7 +920,11 @@ } ] }, - "14": { }, + "10": { }, + "11": { "patterns": [ { "include": "#inline_comment" } ] }, + "12": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "13": { "name": "comment.block.cpp" }, + "14": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "15": { "patterns": [ { "include": "#inline_comment" } ] }, "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "17": { "name": "comment.block.cpp" }, @@ -936,11 +932,7 @@ "19": { "patterns": [ { "include": "#inline_comment" } ] }, "20": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "21": { "name": "comment.block.cpp" }, - "22": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "23": { "patterns": [ { "include": "#inline_comment" } ] }, - "24": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "25": { "name": "comment.block.cpp" }, - "26": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } + "22": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } }, "endCaptures": { }, "name": "meta.function.definition.special.constructor.cpp", @@ -1516,7 +1508,7 @@ "patterns": [ { "include": "#evaluation_context" } ] }, "destructor_inline": { - "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(?:constexpr)|(?:consteval)|(?:explicit)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*)(~(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, @@ -1524,21 +1516,17 @@ "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "3": { "name": "comment.block.cpp" }, "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { "name": "comment.block.cpp" }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "9": { "name": "storage.type.modifier.calling-convention.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "12": { "name": "comment.block.cpp" }, - "13": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "14": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "17": { "name": "comment.block.cpp" }, - "18": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "19": { "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" } + "5": { "name": "storage.type.modifier.calling-convention.cpp" }, + "6": { "patterns": [ { "include": "#inline_comment" } ] }, + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "8": { "name": "comment.block.cpp" }, + "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "10": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, + "11": { "patterns": [ { "include": "#inline_comment" } ] }, + "12": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "13": { "name": "comment.block.cpp" }, + "14": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "15": { "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" } }, "endCaptures": { }, "name": "meta.function.definition.special.member.destructor.cpp", @@ -2116,7 +2104,7 @@ "patterns": [ { "include": "#evaluation_context" } ] }, "function_definition": { - "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.cpp" }, @@ -2249,24 +2237,20 @@ "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": { "patterns": [ { "include": "#inline_comment" } ] }, - "45": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "46": { "name": "comment.block.cpp" }, - "47": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "48": { "name": "storage.type.modifier.calling-convention.cpp" }, - "49": { "patterns": [ { "include": "#inline_comment" } ] }, - "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": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, - "54": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, - "55": { "patterns": [ { "include": "#template_call_range" } ] }, - "56": { }, - "57": { "name": "entity.name.function.definition.cpp" }, - "58": { "patterns": [ { "include": "#inline_comment" } ] }, - "59": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "60": { "name": "comment.block.cpp" }, - "61": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } + "44": { "name": "storage.type.modifier.calling-convention.cpp" }, + "45": { "patterns": [ { "include": "#inline_comment" } ] }, + "46": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "47": { "name": "comment.block.cpp" }, + "48": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "49": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, + "50": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, + "51": { "patterns": [ { "include": "#template_call_range" } ] }, + "52": { }, + "53": { "name": "entity.name.function.definition.cpp" }, + "54": { "patterns": [ { "include": "#inline_comment" } ] }, + "55": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "56": { "name": "comment.block.cpp" }, + "57": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } }, "endCaptures": { }, "name": "meta.function.definition.cpp", @@ -3609,11 +3593,15 @@ } }, "operator_overload": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.special.operator-overload.cpp" }, - "1": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, + "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "3": { "name": "comment.block.cpp" }, + "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "5": { "name": "meta.qualified_type.cpp", "patterns": [ { @@ -3644,21 +3632,21 @@ } ] }, - "2": { + "6": { "patterns": [ { "include": "#attributes_context" }, { "include": "#number_literal" } ] }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "7": { "patterns": [ { "include": "#inline_comment" } ] }, "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "9": { "name": "comment.block.cpp" }, "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { + "11": { "patterns": [ { "include": "#inline_comment" } ] }, + "12": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "13": { "name": "comment.block.cpp" }, + "14": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, + "15": { "patterns": [ { "match": "::", @@ -3671,14 +3659,14 @@ { "include": "#template_call_range" } ] }, - "12": { "patterns": [ { "include": "#template_call_range" } ] }, - "13": { }, - "14": { "patterns": [ { "include": "#inline_comment" } ] }, - "15": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "16": { "name": "comment.block.cpp" }, - "17": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "18": { }, - "19": { + "16": { "patterns": [ { "include": "#template_call_range" } ] }, + "17": { }, + "18": { "patterns": [ { "include": "#inline_comment" } ] }, + "19": { "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": "\\*", @@ -3700,10 +3688,6 @@ } ] }, - "20": { "patterns": [ { "include": "#inline_comment" } ] }, - "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "22": { "name": "comment.block.cpp" }, - "23": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "24": { "patterns": [ { "include": "#inline_comment" } ] }, "25": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "26": { "name": "comment.block.cpp" }, diff --git a/language_examples/#621.spec.yaml b/language_examples/#621.spec.yaml new file mode 100644 index 00000000..7fda02cb --- /dev/null +++ b/language_examples/#621.spec.yaml @@ -0,0 +1,175 @@ +- source: static + scopes: + - storage.modifier.specifier.static +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'string led_paths[] ' +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: RED +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: LED_PATH + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: red +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: GREEN +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: LED_PATH + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: green +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: BLUE +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: LED_PATH + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: blue +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: WHITE +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: LED_PATH + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: white +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement From 853dd80ad6558041a9c72b27266a4edeab5d3b2c Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Fri, 3 Feb 2023 15:50:16 -0600 Subject: [PATCH 16/65] - --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 781b5d70..e212f123 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.17.3", + "version": "1.17.4", "icon": "icon.png", "scripts": {}, "keywords": [ From 0d818c7a443c4d2452d1689a4dbc9023864cb755 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Mon, 6 Feb 2023 09:16:25 -0600 Subject: [PATCH 17/65] - --- Gemfile | 2 +- Gemfile.lock | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Gemfile b/Gemfile index 4e13aa22..5cd36e04 100644 --- a/Gemfile +++ b/Gemfile @@ -3,4 +3,4 @@ gem 'bundler' gem 'deep_clone' gem 'walk_up', ">=1.0.1" -gem 'ruby_grammar_builder', '1.1.8' +gem 'ruby_grammar_builder', '1.1.10' diff --git a/Gemfile.lock b/Gemfile.lock index 859b9ff5..2a46462c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,7 +2,7 @@ GEM remote: http://rubygems.org/ specs: deep_clone (0.0.1) - ruby_grammar_builder (1.1.8) + ruby_grammar_builder (1.1.10) deep_clone (~> 0.0.1, >= 0.0.1) walk_up (1.0.1) @@ -12,7 +12,7 @@ PLATFORMS DEPENDENCIES bundler deep_clone - ruby_grammar_builder (= 1.1.8) + ruby_grammar_builder (= 1.1.10) walk_up (>= 1.0.1) BUNDLED WITH From 7aef15d9203f0dfeaf075f0673ab3ab382dfb0b1 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Mon, 6 Feb 2023 09:19:57 -0600 Subject: [PATCH 18/65] optimize out about 18,000 chars --- Gemfile | 2 +- Gemfile.lock | 4 +- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 472 +++++++++--------- gemset.nix | 4 +- package-lock.json | 4 +- 6 files changed, 244 insertions(+), 244 deletions(-) diff --git a/Gemfile b/Gemfile index 4e13aa22..5cd36e04 100644 --- a/Gemfile +++ b/Gemfile @@ -3,4 +3,4 @@ gem 'bundler' gem 'deep_clone' gem 'walk_up', ">=1.0.1" -gem 'ruby_grammar_builder', '1.1.8' +gem 'ruby_grammar_builder', '1.1.10' diff --git a/Gemfile.lock b/Gemfile.lock index 859b9ff5..2a46462c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,7 +2,7 @@ GEM remote: http://rubygems.org/ specs: deep_clone (0.0.1) - ruby_grammar_builder (1.1.8) + ruby_grammar_builder (1.1.10) deep_clone (~> 0.0.1, >= 0.0.1) walk_up (1.0.1) @@ -12,7 +12,7 @@ PLATFORMS DEPENDENCIES bundler deep_clone - ruby_grammar_builder (= 1.1.8) + ruby_grammar_builder (= 1.1.10) walk_up (>= 1.0.1) BUNDLED WITH diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index b2bfb24a..ec950fa6 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?((?:\\s)+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()","end":"\\)|(?=(?|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.class.cpp" }, "1": { "name": "storage.type.$1.cpp" }, @@ -308,7 +308,7 @@ "11": { "patterns": [ { - "match": "((?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, @@ -791,7 +791,7 @@ "patterns": [ { "include": "#ever_present_context" }, { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", "captures": { "1": { "name": "keyword.operator.assignment.cpp" }, "2": { "patterns": [ { "include": "#inline_comment" } ] }, @@ -810,7 +810,7 @@ "endCaptures": { }, "patterns": [ { - "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", + "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", "end": "\\)", "beginCaptures": { "1": { "name": "entity.name.function.call.initializer.cpp" }, @@ -880,7 +880,7 @@ ] }, "constructor_root": { - "begin": "\\s*+((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, @@ -946,7 +946,7 @@ "patterns": [ { "include": "#ever_present_context" }, { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", "captures": { "1": { "name": "keyword.operator.assignment.cpp" }, "2": { "patterns": [ { "include": "#inline_comment" } ] }, @@ -965,7 +965,7 @@ "endCaptures": { }, "patterns": [ { - "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", + "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", "end": "\\)", "beginCaptures": { "1": { "name": "entity.name.function.call.initializer.cpp" }, @@ -1035,7 +1035,7 @@ ] }, "control_flow_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(\\{)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)", "end": "\\}", "beginCaptures": { "1": { @@ -1180,7 +1180,7 @@ ] }, "d9bc4796b0b_module_import": { - "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)", + "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((import))(?:\\s+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))(?:\\s+)?(;?)", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { @@ -1284,7 +1284,7 @@ "endCaptures": { }, "patterns": [ { - "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, @@ -1540,7 +1540,7 @@ "patterns": [ { "include": "#ever_present_context" }, { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", "captures": { "1": { "name": "keyword.operator.assignment.cpp" }, "2": { "patterns": [ { "include": "#inline_comment" } ] }, @@ -1582,7 +1582,7 @@ ] }, "destructor_root": { - "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(((?>(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, @@ -1652,7 +1652,7 @@ "patterns": [ { "include": "#ever_present_context" }, { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", "captures": { "1": { "name": "keyword.operator.assignment.cpp" }, "2": { "patterns": [ { "include": "#inline_comment" } ] }, @@ -1694,7 +1694,7 @@ ] }, "diagnostic": { - "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?", + "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?", "end": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.enum.cpp" }, "1": { "name": "storage.type.enum.cpp" }, @@ -1825,7 +1825,7 @@ ] }, "enum_declare": { - "match": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(extern)(?=\\s*\\\")", + "end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.extern.cpp" }, "1": { "patterns": [ { "include": "#inline_comment" } ] }, @@ -2078,7 +2078,7 @@ ] }, "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", "end": "\\)", "beginCaptures": { "1": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, @@ -2104,7 +2104,7 @@ "patterns": [ { "include": "#evaluation_context" } ] }, "function_definition": { - "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.cpp" }, @@ -2122,7 +2122,7 @@ "7": { "patterns": [ { - "match": "((?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(?<=^|\\))(?:\\s+)?(->)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "punctuation.definition.function.return-type.cpp" }, "2": { "patterns": [ { "include": "#inline_comment" } ] }, @@ -2380,8 +2380,8 @@ ] }, "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", "beginCaptures": { "1": { "name": "meta.qualified_type.cpp", @@ -2455,7 +2455,7 @@ "name": "storage.modifier.pointer.cpp" }, { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -2501,8 +2501,8 @@ "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", "beginCaptures": { "1": { "name": "meta.qualified_type.cpp", @@ -2576,7 +2576,7 @@ "name": "storage.modifier.pointer.cpp" }, { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -2644,7 +2644,7 @@ ] }, { - "match": "(using)(?:\\s)+((?]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))", + "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((#)(?:\\s+)?((?:include|include_next))\\b)(?:\\s+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { @@ -2814,7 +2814,7 @@ "name": "storage.type.modifier.virtual.cpp" }, { - "match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(?<=protected|virtual|private|public|,|:)(?:\\s+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "meta.qualified_type.cpp", @@ -2913,7 +2913,7 @@ ] }, "inline_builtin_storage_type": { - "match": "(?:\\s)*+(?])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))[\\[\\];=]))", + "begin": "(?:(?<=[^\\s]|^)(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))", "end": "(?<=[;}])", "beginCaptures": { "1": { "name": "punctuation.definition.capture.begin.lambda.cpp" }, @@ -2976,7 +2976,7 @@ "patterns": [ { "include": "#the_this_keyword" }, { - "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", + "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", "captures": { "1": { "name": "variable.parameter.capture.cpp" }, "2": { "patterns": [ { "include": "#inline_comment" } ] }, @@ -3039,7 +3039,7 @@ "name": "constant.language.$0.cpp" }, "line": { - "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b", + "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?line\\b", "end": "(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", + "match": "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { @@ -3146,7 +3146,7 @@ "7": { "patterns": [ { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -3159,7 +3159,7 @@ } }, { - "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -3179,7 +3179,7 @@ } }, "memory_operators": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))", + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(delete)(?:\\s+)?(\\[\\])|(delete))|(new))(?!\\w))", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { @@ -3202,7 +3202,7 @@ } }, "method_access": { - "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()", + "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()", "end": "\\)", "beginCaptures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, @@ -3216,7 +3216,7 @@ "9": { "patterns": [ { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -3229,7 +3229,7 @@ } }, { - "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?\\*|->)))", + "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -3252,7 +3252,7 @@ "patterns": [ { "include": "#evaluation_context" } ] }, "misc_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.function.definition.special.operator-overload.cpp" }, @@ -3673,7 +3673,7 @@ "name": "storage.modifier.pointer.cpp" }, { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -3753,7 +3753,7 @@ "name": "entity.name.operator.type.pointer.cpp" }, { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -3817,7 +3817,7 @@ }, { "include": "#qualifiers_and_specifiers_post_parameters" }, { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))", + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", "captures": { "1": { "name": "keyword.operator.assignment.cpp" }, "2": { "patterns": [ { "include": "#inline_comment" } ] }, @@ -3852,7 +3852,7 @@ "operators": { "patterns": [ { - "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", + "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", "captures": { "0": { "patterns": [ @@ -5553,12 +5553,12 @@ "name": "meta.qualified_type.cpp" }, "qualifiers_and_specifiers_post_parameters": { - "match": "((?:(?:(?:(?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, @@ -5580,7 +5580,7 @@ } }, "scope_resolution_function_call": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, @@ -5588,7 +5588,7 @@ } }, "scope_resolution_function_call_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, @@ -5607,7 +5607,7 @@ } }, "scope_resolution_function_definition": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, @@ -5615,7 +5615,7 @@ } }, "scope_resolution_function_definition_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, @@ -5634,7 +5634,7 @@ } }, "scope_resolution_function_definition_operator_overload": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, @@ -5642,7 +5642,7 @@ } }, "scope_resolution_function_definition_operator_overload_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, @@ -5661,7 +5661,7 @@ } }, "scope_resolution_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, @@ -5680,7 +5680,7 @@ } }, "scope_resolution_namespace_alias": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, @@ -5688,7 +5688,7 @@ } }, "scope_resolution_namespace_alias_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, @@ -5707,7 +5707,7 @@ } }, "scope_resolution_namespace_block": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { "include": "#scope_resolution_namespace_block_inner_generated" } ] }, "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, @@ -5715,7 +5715,7 @@ } }, "scope_resolution_namespace_block_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { "include": "#scope_resolution_namespace_block_inner_generated" } ] }, "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, @@ -5734,7 +5734,7 @@ } }, "scope_resolution_namespace_using": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { "include": "#scope_resolution_namespace_using_inner_generated" } ] }, "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, @@ -5742,7 +5742,7 @@ } }, "scope_resolution_namespace_using_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { "include": "#scope_resolution_namespace_using_inner_generated" } ] }, "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, @@ -5761,7 +5761,7 @@ } }, "scope_resolution_parameter": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { "include": "#scope_resolution_parameter_inner_generated" } ] }, "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, @@ -5769,7 +5769,7 @@ } }, "scope_resolution_parameter_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { "include": "#scope_resolution_parameter_inner_generated" } ] }, "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, @@ -5788,7 +5788,7 @@ } }, "scope_resolution_template_call": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { "include": "#scope_resolution_template_call_inner_generated" } ] }, "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, @@ -5796,7 +5796,7 @@ } }, "scope_resolution_template_call_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { "include": "#scope_resolution_template_call_inner_generated" } ] }, "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, @@ -5815,7 +5815,7 @@ } }, "scope_resolution_template_definition": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { "0": { "patterns": [ { "include": "#scope_resolution_template_definition_inner_generated" } ] }, "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, @@ -5823,7 +5823,7 @@ } }, "scope_resolution_template_definition_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?(::)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", "captures": { "1": { "patterns": [ { "include": "#scope_resolution_template_definition_inner_generated" } ] }, "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, @@ -5846,7 +5846,7 @@ "name": "punctuation.terminator.statement.cpp" }, "simple_type": { - "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?", + "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?", "captures": { "1": { "name": "meta.qualified_type.cpp", @@ -5947,7 +5947,7 @@ "name": "storage.modifier.pointer.cpp" }, { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -5991,7 +5991,7 @@ } }, "single_line_macro": { - "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))#define.*(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.struct.cpp" }, "1": { "name": "storage.type.$1.cpp" }, @@ -6665,7 +6665,7 @@ "11": { "patterns": [ { - "match": "((?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.switch.cpp" }, @@ -6908,7 +6908,7 @@ ] }, "template_argument_defaulted": { - "match": "(?<=<|,)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s)+((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(\\=)", + "match": "(?<=<|,)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\s+((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(\\=)", "captures": { "1": { "name": "storage.type.template.argument.$1.cpp" }, "2": { "name": "entity.name.type.template.cpp" }, @@ -6930,7 +6930,7 @@ ] }, "template_call_innards": { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+", + "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+", "captures": { "0": { "patterns": [ { "include": "#template_call_range" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -6948,7 +6948,7 @@ "patterns": [ { "include": "#template_call_context" } ] }, "template_definition": { - "begin": "(?", "beginCaptures": { "1": { "name": "storage.type.template.cpp" }, @@ -6958,7 +6958,7 @@ "name": "meta.template.definition.cpp", "patterns": [ { - "begin": "(?<=\\w)(?:(?:\\s)+)?<", + "begin": "(?<=\\w)(?:\\s+)?<", "end": ">", "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, @@ -6968,7 +6968,7 @@ ] }, "template_definition_argument": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?)(?:(?:\\s)+)?(class|typename)(?:(?:\\s)+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:(?:\\s)+)?(?:(\\=)(?:(?:\\s)+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))", + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\.\\.\\.)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?)(?:\\s+)?(class|typename)(?:\\s+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:\\s+)?(?:(\\=)(?:\\s+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { @@ -7017,7 +7017,7 @@ ] }, "template_explicit_instantiation": { - "match": "(?)(?:(?:\\s)+)?$", + "match": "(?)(?:\\s+)?$", "captures": { "1": { "name": "storage.type.template.cpp" }, "2": { "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" }, @@ -7072,7 +7072,7 @@ "applyEndPatternLast": 1 }, "the_this_keyword": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.class.cpp" }, "1": { "name": "storage.type.$1.cpp" }, @@ -7326,7 +7326,7 @@ "11": { "patterns": [ { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", "beginCaptures": { "1": { "name": "meta.qualified_type.cpp", @@ -7538,7 +7538,7 @@ "name": "storage.modifier.pointer.cpp" }, { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))){2,}\\&", + "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", "captures": { "1": { "patterns": [ { "include": "#inline_comment" } ] }, "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, @@ -7586,14 +7586,14 @@ ] }, "typedef_struct": { - "begin": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.struct.cpp" }, "1": { "name": "storage.type.$1.cpp" }, @@ -7614,7 +7614,7 @@ "11": { "patterns": [ { - "match": "((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.union.cpp" }, "1": { "name": "storage.type.$1.cpp" }, @@ -7773,7 +7773,7 @@ "11": { "patterns": [ { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "storage.modifier.cpp" }, "2": { "patterns": [ { "include": "#inline_comment" } ] }, @@ -8043,7 +8043,7 @@ } }, "undef": { - "match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|(?:\\A)|(?:\\Z)))((?|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))", + "begin": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { "name": "meta.head.union.cpp" }, "1": { "name": "storage.type.$1.cpp" }, @@ -8100,7 +8100,7 @@ "11": { "patterns": [ { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)(?:\\s)*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((? Date: Tue, 7 Feb 2023 07:59:38 -0600 Subject: [PATCH 19/65] - --- .../extensions/nix/commands/ensure_nix_installed | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/settings/extensions/nix/commands/ensure_nix_installed b/settings/extensions/nix/commands/ensure_nix_installed index 5860ca2c..69f35594 100755 --- a/settings/extensions/nix/commands/ensure_nix_installed +++ b/settings/extensions/nix/commands/ensure_nix_installed @@ -22,7 +22,7 @@ if [ -n "$(command -v "trap")" ]; then fi # -# if nix command doesnt exist +# if nix command doesnt exist, check the path # if [ -z "$(command -v "nix")" ]; then # @@ -34,9 +34,13 @@ if [ -z "$(command -v "nix")" ]; then if [ -f "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then . "$HOME/.nix-profile/etc/profile.d/nix.sh" fi - export PATH="$PATH:/nix/var/nix/profiles/default/bin/" - - + export PATH="$PATH:/nix/var/nix/profiles/default/bin/:/nix/var/nix/profiles/per-user/$(whoami)/profile/bin/" + export NIXPKGS_ALLOW_UNFREE=1 + +fi + +# if adding the path didnt fix it +if [ -z "$(command -v "nix")" ]; then # # if nix store doesn't exist # From b63c09fe83bea13a68bed3e40423c12b53438e2f Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 7 Feb 2023 08:00:17 -0600 Subject: [PATCH 20/65] - --- .../nix/commands/ensure_nix_installed | 176 ------------------ 1 file changed, 176 deletions(-) delete mode 100755 settings/extensions/nix/commands/ensure_nix_installed diff --git a/settings/extensions/nix/commands/ensure_nix_installed b/settings/extensions/nix/commands/ensure_nix_installed deleted file mode 100755 index 69f35594..00000000 --- a/settings/extensions/nix/commands/ensure_nix_installed +++ /dev/null @@ -1,176 +0,0 @@ -#!/usr/bin/env bash - -if [ "$FORNIX_DEBUG" = "true" ]; then - echo "starting ensure_nix_installed" -fi - -# setup some helpers -newline=' -' -light_yellow="\e[0;1;33m";light_yellow="" -light_purple="\e[0;1;35m";light_purple="" -light_green="\e[0;1;32m";light_green="" -light_red="\e[0;1;31m";light_red="" -blue="\e[0;94m"; blue="" -cyan="\e[0;36m";cyan="" -color_reset="\e[0m";color_reset="" - -# saftey/cleanup -# if trap exists -if [ -n "$(command -v "trap")" ]; then - trap 'unset repo; unset branch; unset setup_or_copy; unset mixin_remote_name; return 0' INT TERM -fi - -# -# if nix command doesnt exist, check the path -# -if [ -z "$(command -v "nix")" ]; then - # - # try sourcing some files, then check avail if nix is available - # - if [ -f "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" ]; then - . "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" - fi - if [ -f "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then - . "$HOME/.nix-profile/etc/profile.d/nix.sh" - fi - export PATH="$PATH:/nix/var/nix/profiles/default/bin/:/nix/var/nix/profiles/per-user/$(whoami)/profile/bin/" - export NIXPKGS_ALLOW_UNFREE=1 - -fi - -# if adding the path didnt fix it -if [ -z "$(command -v "nix")" ]; then - # - # if nix store doesn't exist - # - if ! [ -d "/nix/store" ]; then - echo "|------------------------------------------------------|" 1>&2 - echo "| |" 1>&2 - echo "| I'll try to install nix for you |" 1>&2 - echo "| (since I don't see nix yet) |" 1>&2 - echo "| |" 1>&2 - echo "|------------------------------------------------------|" 1>&2 - echo "" - # check for root - if [ "$(whoami)" = "root" ]; then - echo "$light_yellow" - echo "looks like you're logged in as root" - echo "sadly nix can't install on the root user" - echo "please use a regular user, then re-run this script" - echo "$color_reset" - # if users exists - if [ -n "$(command -v "getent")" ] && [ -n "$(command -v "cut")" ]; then - users="$(getent passwd {1000..6000} | cut -d: -f1)" - if [ -n "$users" ] && [ "$users" != "root" ]; then - echo "the available users are:" - echo "$users" - echo - echo "you should be able to run ${cyan}su ${light_yellow}USER_NAME${color_reset}" - echo "to login as one of those users" - else - echo "" - echo "it looks like this system doesn't have any regular users" - - # if useradd exists - if [ -n "$(command -v "useradd")" ]; then - question="do you want me to make a regular user for you? [y/n]";answer='' - while true; do - echo "$question"; read response - case "$response" in - [Yy]* ) answer='yes'; break;; - [Nn]* ) answer='no'; break;; - * ) echo "Please answer yes or no.";; - esac - done - - if [ "$answer" = 'yes' ]; then - echo "${light_purple}Enter a username:${color_reset}" - read username - if sudo useradd --create-home "$username" --password "password" --groups sudo; then - echo "" - echo "user created successfully" - echo "run:" - echo " ${cyan}sudo passwd "$username"${color_reset}" - echo "to set the password" - else - echo "" - echo "Sorry, there was an error when creating the user" - echo "I used this command: ${cyan}sudo useradd --create-home "'"'"$username"'"'" --password 'password' --groups sudo${color_reset}" - fi - else - echo "Okay" - fi - fi - - fi - echo "" - echo "login as the non-root user (${cyan}su USERNAME${color_reset})" - echo "then re-run this command" - exit - fi - fi - - # - # MacOS - # - if [ "$(uname)" = "Darwin" ]; then - debugging_info="$debugging_info$newline""I think you have a Mac because "'"$OSTYPE" = "darwin"*'" came back true" - full_version="$(sw_vers -productVersion)" - major_version="$(echo "$full_version" | sed -E 's/([0-9]+)\.[0-9]+(\.[0-9]+)?/\1/g')" - minor_version="$(echo "$full_version" | sed -E 's/[0-9]+\.([0-9]+)(\.[0-9]+)?/\1/g')" - # - # Big Sur or Newer - # - if [ "$major_version" = "11" ] || \ - [ "$major_version" = "12" ] || \ - [ "$major_version" = "13" ] || \ - [ "$major_version" = "14" ] || \ - [ "$major_version" = "15" ]; then - yes | bash <(curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install) --darwin-use-unencrypted-nix-store-volume || sh <(curl -L https://nixos.org/nix/install) --daemon - # - # Older than Big Sur (Catalina, Mojave, High Siera, Siera, etc) - # - elif [ "$major_version" = "10" ]; then - # Catalina - if [ "$minor_version" = "15" ]; then - sh <(curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install) --darwin-use-unencrypted-nix-store-volume - # Mojave, High Siera, Siera, and might work on even older versions (Yosemite, Mavericks) - else - # the single-user install seems to have fewer install issues - curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s - # curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s -- --daemon - fi - else - echo 'We tried to get you MacOS version by running `sw_vers -productVersion`' - echo '(which returns '"$full_version"')' - echo "Either 1. that value is empty 2. You're on an insanely old version 3. You're on a version way way in the future from when this script was made" - fi - else # assuming Linux/POSIX if not on MacOS - # if curl doesnt exist, try to make it exist - if [ -z "$(command -v "curl")" ]; then - # if apt-get exists - if [ -n "$(command -v "apt-get")" ]; then - sudo apt-get update && sudo apt-get install curl - else - echo "it looks like you don't have curl, please install curl then re-run this script" 1>&2 - echo "alternatively, to get nix, manually run the commands inside https://releases.nixos.org/nix/nix-2.9.2/install" 1>&2 - fi - fi - - # if now curl exists - if [ -n "$(command -v "curl")" ]; then - # check if systemd exists - if pidof systemd; then - # the single-user install seems to have fewer install issues - curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s - # # multi-user install if systemd exists - # curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s -- --daemon - else - # single-user install if systemd does not exist - curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s - fi - fi - fi - fi -fi \ No newline at end of file From af75efdefdae48108c42fa7ee5784d8fc6c59a99 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 7 Feb 2023 08:16:50 -0600 Subject: [PATCH 21/65] fix/improve installer_helper --- commands/start | 55 +- settings/extensions/nix/installer_helper | 1081 +++++++++++----------- 2 files changed, 615 insertions(+), 521 deletions(-) diff --git a/commands/start b/commands/start index 989c381b..b9312973 100755 --- a/commands/start +++ b/commands/start @@ -3,10 +3,61 @@ # # summary # -# find fornix, make sure nix exists +# make sure nix exists +# find fornix # with no arguments, this simply starts the shell # with an argument, it refreshes the project connections, then runs `$commands_folder/project/$the_arguments` +# if nix doesnt exist +if [ -z "$(command -v "nix-shell")" ] +then + echo runinng installer_helper + # + # find the settings/extensions/nix/installer_helper + # + path_to_installer_helper="" + file_name="settings/extensions/nix/installer_helper" + folder_to_look_in="$PWD" + while : + do + # check if file exists + if [ -f "$folder_to_look_in/$file_name" ] + then + path_to_installer_helper="$folder_to_look_in/$file_name" + break + else + if [ "$folder_to_look_in" = "/" ] + then + break + else + folder_to_look_in="$(dirname "$folder_to_look_in")" + fi + fi + done + # couldn't find it + if [ -z "$path_to_installer_helper" ] + then + # + # what to do if file never found + # + echo "I'm a script running with a pwd of:$PWD" + echo "I'm looking for $file_name in a parent folder" + echo "I'm exiting now because I wasnt able to find it" + echo "thats all the information I have" + exit + # + # found it + # + else + # if wasnt able to install, then exit + export install_repo="false" # we only need nix + if ! . "$path_to_installer_helper"; then + # the installer will have the instructions/error messages + exit + fi + fi +fi + # # find the fornix_core # @@ -198,8 +249,6 @@ then fi fi -. "$FORNIX_FOLDER/settings/extensions/nix/commands/ensure_nix_installed" - # just start the shell with no arguments (arguments might be supported in the future) "$FORNIX_COMMANDS_FOLDER/shell" if [ "$FORNIX_DEBUG" = "true" ]; then diff --git a/settings/extensions/nix/installer_helper b/settings/extensions/nix/installer_helper index 6f9505e7..de7ecbc5 100755 --- a/settings/extensions/nix/installer_helper +++ b/settings/extensions/nix/installer_helper @@ -18,82 +18,186 @@ color_reset="\e[0m"; color_reset="" # if trap exists if [ -n "$(command -v "trap")" ] then - trap 'unset repo; unset branch; unset setup_or_copy; unset mixin_remote_name; return 0' INT TERM + trap 'unset install_repo; unset nix_version; unset repo; unset branch; unset setup_or_copy; unset mixin_remote_name; return 0' INT TERM fi -nix_version="2.9.2" -# -# make sure xcode tools are installed on MacOS -# -if [ "$(uname)" = "Darwin" ] +# default nix_version +if [ -z "$nix_version" ] then - # if non-interactive, then install without prompting - if [ -z "$PS1" ]; then - xcode-select -p &> /dev/null - if [ $? -ne 0 ]; then - echo "Command Line Tools for Xcode not found. Installing from softwareupdate…" - # This temporary file prompts the 'softwareupdate' utility to list the Command Line Tools - echo - echo "This is probably going to take 5-30min to install" - touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress; - PROD=$(softwareupdate -l | grep "\*.*Command Line" | tail -n 1 | sed 's/^[^C]* //') - softwareupdate -i "$PROD" --verbose; - else - echo "Command Line Tools for Xcode have been installed." - fi - # use prompt so the user sees a time estimate and progress - else - check=$((xcode-\select --install) 2>&1) - echo $check - str="xcode-select: note: install requested for command line developer tools" - while [[ "$check" == "$str" ]]; - do - xcode-select --install - echo "waiting for xcode command line tools to be installed" - sleep 10 - done - fi - echo "passed xcode tools installed" + nix_version="2.11.1" fi -# TODO: add a check/option for a corrupted nix install +# default install_repo=true +if [ -z "$install_repo" ]; then + install_repo="true" +fi -if ! [ -d "/nix/store" ] -then - echo "|------------------------------------------------------|" 1>&2 - echo "| |" 1>&2 - echo "| I'll try to install nix for you |" 1>&2 - echo "| (since I don't see nix yet) |" 1>&2 - echo "| |" 1>&2 - echo "|------------------------------------------------------|" 1>&2 - echo "" - # check for root - if [ "$(whoami)" = "root" ] - then - echo "$light_yellow" - echo "looks like you're logged in as root" - echo "sadly nix can't install on the root user" - echo "please use a regular user, then re-run this script" - echo "$color_reset" - # if users exists - if [ -n "$(command -v "getent")" ] && [ -n "$(command -v "cut")" ] - then - users="$(getent passwd {1000..6000} | cut -d: -f1)" - if [ -n "$users" ] && [ "$users" != "root" ] - then - echo "the available users are:" - echo "$users" - echo - echo "you should be able to run ${cyan}su ${light_yellow}USER_NAME${color_reset}" - echo "to login as one of those users" +nix_is_installed="false" + +# +# +# ensure nix is installed +# +# + +if [ -n "$(command -v "nix-shell")" ]; then + nix_is_installed="true" +# if nix command doesnt exist, check the path +else + # + # try sourcing some files, then check avail if nix is available + # + if [ -f "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" ]; then + . "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" + fi + if [ -f "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then + . "$HOME/.nix-profile/etc/profile.d/nix.sh" + fi + export PATH="$PATH:$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin/:/nix/var/nix/profiles/per-user/$(whoami)/profile/bin/" + export NIXPKGS_ALLOW_UNFREE=1 + + # if still not installed + if ! [ -z "$(command -v "nix")" ]; then + nix_is_installed="true" + else + # + # make sure xcode tools are installed on MacOS + # + if [ "$(uname)" = "Darwin" ]; then + # if non-interactive, then install without prompting + if [ -z "$PS1" ]; then + xcode-select -p &> /dev/null + if [ $? -ne 0 ]; then + echo "Command Line Tools for Xcode not found. Installing from softwareupdate…" + # This temporary file prompts the 'softwareupdate' utility to list the Command Line Tools + echo + echo "This is probably going to take 5-30min to install" + touch /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress; + PROD=$(softwareupdate -l | grep "\*.*Command Line" | tail -n 1 | sed 's/^[^C]* //') + softwareupdate -i "$PROD" --verbose; + else + echo "Command Line Tools for Xcode have been installed." + fi + # use prompt so the user sees a time estimate and progress else - echo "" - echo "it looks like this system doesn't have any regular users" + check=$((xcode-\select --install) 2>&1) + echo $check + str="xcode-select: note: install requested for command line developer tools" + while [[ "$check" == "$str" ]]; + do + xcode-select --install + echo "waiting for xcode command line tools to be installed" + sleep 10 + done + fi + echo "passed xcode tools installed" + fi - # if useradd exists - if [ -n "$(command -v "useradd")" ] - then - question="do you want me to make a regular user for you? [y/n]";answer='' + # TODO: add a check/option for a corrupted nix install + + if ! [ -d "/nix/store" ]; then + echo "|------------------------------------------------------|" 1>&2 + echo "| |" 1>&2 + echo "| I'll try to install nix for you |" 1>&2 + echo "| (since I don't see nix yet) |" 1>&2 + echo "| |" 1>&2 + echo "|------------------------------------------------------|" 1>&2 + echo "" + # check for root + if [ "$(whoami)" = "root" ]; then + echo "$light_yellow" + echo "looks like you're logged in as root" + echo "sadly nix can't install on the root user" + echo "please use a regular user, then re-run this script" + echo "$color_reset" + # if users exists + if [ -n "$(command -v "getent")" ] && [ -n "$(command -v "cut")" ]; then + users="$(getent passwd {1000..6000} | cut -d: -f1)" + if [ -n "$users" ] && [ "$users" != "root" ]; then + echo "the available users are:" + echo "$users" + echo + echo "you should be able to run ${cyan}su ${light_yellow}USER_NAME${color_reset}" + echo "to login as one of those users" + else + echo "" + echo "it looks like this system doesn't have any regular users" + + # if useradd exists + if [ -n "$(command -v "useradd")" ]; then + question="do you want me to make a regular user for you? [y/n]";answer='' + while true; do + echo "$question"; read response + case "$response" in + [Yy]* ) answer='yes'; break;; + [Nn]* ) answer='no'; break;; + * ) echo "Please answer yes or no.";; + esac + done + + if [ "$answer" = 'yes' ]; then + echo "${light_purple}Enter an ALL LOWERCASE username:${color_reset}" + read username + if sudo useradd --create-home "$username" --password "password" --groups sudo; then + echo "" + echo "user created successfully" + echo "run:" + echo " ${cyan}sudo passwd "$username"${color_reset}" + echo "to set the password" + else + echo "" + echo "Sorry, there was an error when creating the user" + echo "I used this command: ${cyan}sudo useradd --create-home "'"'"$username"'"'" --password 'password' --groups sudo${color_reset}" + fi + else + echo "Okay" + fi + fi + + fi + echo "" + echo "login as the non-root user (${cyan}su USERNAME${color_reset})" + echo "then re-run this command" + return 1 + fi + fi + + # + # MacOS + # + if [ "$(uname)" = "Darwin" ]; then + debugging_info="$debugging_info$newline""I think you have a Mac because "'"$OSTYPE" = "darwin"*'" came back true" + full_version="$(sw_vers -productVersion)" + major_version="$(echo "$full_version" | sed -E 's/([0-9]+)\.[0-9]+(\.[0-9]+)?/\1/g')" + minor_version="$(echo "$full_version" | sed -E 's/[0-9]+\.([0-9]+)(\.[0-9]+)?/\1/g')" + # + # Big Sur or Newer + # + if [ "$major_version" = "11" ] || \ + [ "$major_version" = "12" ] || \ + [ "$major_version" = "13" ] || \ + [ "$major_version" = "14" ] || \ + [ "$major_version" = "15" ]; then + yes | bash <(curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install) --darwin-use-unencrypted-nix-store-volume || sh <(curl -L https://nixos.org/nix/install) --daemon + # + # Older than Big Sur (Catalina, Mojave, High Siera, Siera, etc) + # + elif [ "$major_version" -eq "10" ]; then + # Catalina + if [ "$minor_version" = "15" ]; then + sh <(curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install) --darwin-use-unencrypted-nix-store-volume + # Mojave, High Siera, Siera, and might work on even older versions (Yosemite, Mavericks) + else + # the single-user install seems to have fewer install issues + curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s + # curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s -- --daemon + fi + else + echo 'We tried to get you MacOS version by running `sw_vers -productVersion`' + echo '(which returns '"$full_version"')' + echo "Either 1. that value is empty/really different than expected 2. You're on an insanely old version 3. You're on a version way way in the future from when this script was made" + echo ' ' + question="Want me to try installing nix using default values anyways? [y/n]";answer='' while true; do echo "$question"; read response case "$response" in @@ -102,505 +206,446 @@ then * ) echo "Please answer yes or no.";; esac done - + if [ "$answer" = 'yes' ]; then - echo "${light_purple}Enter an ALL LOWERCASE username:${color_reset}" - read username - if sudo useradd --create-home "$username" --password "password" --groups sudo - then - echo "" - echo "user created successfully" - echo "run:" - echo " ${cyan}sudo passwd "$username"${color_reset}" - echo "to set the password" - else - echo "" - echo "Sorry, there was an error when creating the user" - echo "I used this command: ${cyan}sudo useradd --create-home "'"'"$username"'"'" --password 'password' --groups sudo${color_reset}" - fi + yes | bash <(curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install) --darwin-use-unencrypted-nix-store-volume || sh <(curl -L https://nixos.org/nix/install) --daemon + fi + fi + # assuming Linux/POSIX if not on MacOS + else + # if curl doesnt exist, try to make it exist + if [ -z "$(command -v "curl")" ]; then + # if apt-get exists + if [ -n "$(command -v "apt-get")" ]; then + sudo apt-get update && sudo apt-get install curl else - echo "Okay" + echo "it looks like you don't have curl, please install curl then re-run this script" 1>&2 + echo "alternatively, to get nix, manually run the commands inside https://releases.nixos.org/nix/nix-$nix_version/install" 1>&2 fi fi - fi - echo "" - echo "login as the non-root user (${cyan}su USERNAME${color_reset})" - echo "then re-run this command" - return 1 + # if now curl exists + if [ -n "$(command -v "curl")" ]; then + # check if systemd exists + if pidof systemd; then + # the single-user install seems to have fewer install issues + curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s + # # multi-user install if systemd exists + # curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s -- --daemon + else + # single-user install if systemd does not exist + curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s + fi + fi + fi fi - fi - - # - # MacOS - # - if [ "$(uname)" = "Darwin" ] - then - debugging_info="$debugging_info$newline""I think you have a Mac because "'"$OSTYPE" = "darwin"*'" came back true" - full_version="$(sw_vers -productVersion)" - major_version="$(echo "$full_version" | sed -E 's/([0-9]+)\.[0-9]+(\.[0-9]+)?/\1/g')" - minor_version="$(echo "$full_version" | sed -E 's/[0-9]+\.([0-9]+)(\.[0-9]+)?/\1/g')" - # - # Big Sur or Newer - # - if [ "$major_version" = "11" ] || \ - [ "$major_version" = "12" ] || \ - [ "$major_version" = "13" ] || \ - [ "$major_version" = "14" ] || \ - [ "$major_version" = "15" ] - then - yes | bash <(curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install) --darwin-use-unencrypted-nix-store-volume || sh <(curl -L https://nixos.org/nix/install) --daemon - # - # Older than Big Sur (Catalina, Mojave, High Siera, Siera, etc) - # - elif [ "$major_version" -eq "10" ]; then - # Catalina - if [ "$minor_version" = "15" ]; then - sh <(curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install) --darwin-use-unencrypted-nix-store-volume - # Mojave, High Siera, Siera, and might work on even older versions (Yosemite, Mavericks) - else - # the single-user install seems to have fewer install issues - curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s - # curl -Lk https://releases.nixos.org/nix/nix-2.9.2/install | sh -s -- --daemon + + # + # manually update the shell environment (so shell doesnt need to restart) + # + if [ -f "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" ]; then + . "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" fi - else - echo 'We tried to get you MacOS version by running `sw_vers -productVersion`' - echo '(which returns '"$full_version"')' - echo "Either 1. that value is empty 2. You're on an insanely old version 3. You're on a version way way in the future from when this script was made" - fi - # assuming Linux/POSIX if not on MacOS - else - # if curl doesnt exist, try to make it exist - if [ -z "$(command -v "curl")" ] - then - # if apt-get exists - if [ -n "$(command -v "apt-get")" ] - then - sudo apt-get update && sudo apt-get install curl - else - echo "it looks like you don't have curl, please install curl then re-run this script" 1>&2 - echo "alternatively, to get nix, manually run the commands inside https://releases.nixos.org/nix/nix-$nix_version/install" 1>&2 + if [ -f "$HOME/.nix-profile/etc/profile.d/nix.sh" ]; then + . "$HOME/.nix-profile/etc/profile.d/nix.sh" fi - fi - - # if now curl exists - if [ -n "$(command -v "curl")" ] - then - # check if systemd exists - if pidof systemd - then - # the single-user install seems to have fewer install issues - curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s - # # multi-user install if systemd exists - # curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s -- --daemon + export PATH="$PATH:$HOME/.nix-profile/bin:/nix/var/nix/profiles/default/bin/:/nix/var/nix/profiles/per-user/$(whoami)/profile/bin/" + export NIXPKGS_ALLOW_UNFREE=1 + + # if nix exists + if [ -d "/nix/store" ]; then + # if nix-env doesnt exist + if [ -z "$(command -v "nix-env")" ] || [ -z "$(command -v "nix-shell")" ]; then + echo "$light_yellow" + echo "|-- Action Needed ------------------------------------------------------------------------------| $color_reset" 1>&2 + echo "| |" 1>&2 + echo "| - Try closing/reopening your terminal and running this command again |" 1>&2 + echo "| (I dont see the nix-env and nix-shell command) |" 1>&2 + echo "| |" 1>&2 + echo "| - If you already did that, and you're still getting this message |" 1>&2 + echo "| then you might need to uninstall and reinstall nix |" 1>&2 + echo "| instructions here: |" 1>&2 + echo "| https://nixos.org/manual/nix/stable/#sect-single-user-installation |" 1>&2 + # check if file exists + if [ -f "./settings/extensions/nix/uninstaller_helper" ]; then + echo "| automated script for purging dangling/leftover installation parts here: |" 1>&2 + echo "| . \"./settings/extensions/nix/uninstaller_helper\" |" 1>&2 + fi + echo "| |" 1>&2 + echo "|-----------------------------------------------------------------------------------------------|" 1>&2 + echo "" else - # single-user install if systemd does not exist - curl -Lk https://releases.nixos.org/nix/nix-$nix_version/install | sh -s + nix_is_installed="true" fi + # if nix command still doesnt exist + else + echo "$light_yellow" + echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 + echo "| |" 1>&2 + echo "| Looks like there was a problem installing nix :/ |" 1>&2 + echo "| Hopefully there are error messages above |" 1>&2 + echo "| If you want additional information about installing nix see: |" 1>&2 + echo "| https://nixos.org/manual/nix/stable/#chap-installation |" 1>&2 + echo "| |" 1>&2 + # check if file exists + if [ -f "./settings/extensions/nix/uninstaller_helper" ]; then + echo "| Recommended next action, run the following to remove leftover/dangling parts |" 1>&2 + echo "| . \"./settings/extensions/nix/uninstaller_helper\" |" 1>&2 + echo "| Then try and look online for dealing with the error messages |" 1>&2 + fi + echo "| |" 1>&2 + echo "|-----------------------------------------------------------------------------------------------|" 1>&2 + echo "" fi - fi + fi fi -# -# manually update the shell environment (so shell doesnt need to restart) -# - if [ -f "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" ] - then - . "/nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh" - fi - if [ -f "$HOME/.nix-profile/etc/profile.d/nix.sh" ] - then - . "$HOME/.nix-profile/etc/profile.d/nix.sh" - fi - export PATH="$PATH:/nix/var/nix/profiles/default/bin/" - export NIXPKGS_ALLOW_UNFREE=1 - -# if nix is still not installed -if ! [ -d "/nix/store" ] -then - echo "$light_yellow" - echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 - echo "| |" 1>&2 - echo "| Looks like there was a problem installing nix :/ |" 1>&2 - echo "| Hopefully there are error messages above |" 1>&2 - echo "| If you want additional information about installing nix see: |" 1>&2 - echo "| https://nixos.org/manual/nix/stable/#chap-installation |" 1>&2 - echo "| |" 1>&2 - echo "|-----------------------------------------------------------------------------------------------|" 1>&2 - echo "" -# if nix was installed (hopefully successfully) -else - # if nix-env doesnt exist - if [ -z "$(command -v "nix-env")" ] || [ -z "$(command -v "nix-shell")" ] - then - echo "$light_yellow" - echo "|-- Action Needed ------------------------------------------------------------------------------| $color_reset" 1>&2 - echo "| |" 1>&2 - echo "| - Try closing/reopening your terminal and running this command again |" 1>&2 - echo "| (I dont see the nix-env and nix-shell command) |" 1>&2 - echo "| |" 1>&2 - echo "| - If you already did that, and you're still getting this message |" 1>&2 - echo "| then you might need to uninstall and reinstall nix |" 1>&2 - echo "| instructions here: |" 1>&2 - echo "| https://nixos.org/manual/nix/stable/#sect-single-user-installation |" 1>&2 - echo "| |" 1>&2 - echo "|-----------------------------------------------------------------------------------------------|" 1>&2 - echo "" +# if finally has nix +if [ "$nix_is_installed" = "true" ]; then + if ! [ "$install_repo" = "true" ]; then + return 0 else # - # get git + # get git if needed # - if [ -z "$(command -v "git")" ] - then - nix-env -i git - fi - # git email - if ! git config --global user.email - then - echo - echo - echo - echo - echo - echo '-------------------------------------------------------------------------------------' - echo "git needs an email (doesnt have to be valid), what email should I tell git?" - read answer - # if no answer - if [ -z "$answer" ] - then - git config --global user.email "change@this.com" - else - git config --global user.email "$answer" + if [ -z "$(command -v "git")" ]; then + nix-env -i git fi - fi - # git name - if ! git config --global user.name - then - echo - echo - echo - echo - echo - echo "git needs an name (doesnt have to be a real name), what name should I tell git?" - read answer - # if no answer - if [ -z "$answer" ] - then - git config --global user.name "MrCHANGE ME" - else - git config --global user.name "$answer" - fi - fi - fi - - # - # interactive setup - # - # if git exists - # if inside a git repo - if [ -d "$PWD/.git" ] - then - [ -n "$(command -v "clear")" ] && clear - echo "$blue" - echo "one moment please ..." - echo "$color_reset" - # run everything in a nix shell for reliability - echo "It looks like you are inside an existing project: ($PWD)" - # ask about mixing in another repository - question="${light_green}Do you want to combine (mixin) another repository into this project? [y/n]${color_reset}";answer="" - while true; do - echo "$question"; read response - case "$response" in - [Yy]* ) answer="yes"; break;; - [Nn]* ) answer="no"; break;; - * ) echo "Please answer yes or no";; - esac - done - echo "" - if [ "$answer" = "no" ] - then - echo "okay" - # check if file exists - if [ -f "./commands/start" ] - then - echo "You can run ${cyan}commands/start${color_reset} to get into the current project environment" - fi - fi - if [ "$answer" = "yes" ] - then - if [ -z "$repo" ] - then - repo="https://github.com/jeff-hykin/fornix" - echo "$light_green" - echo "What is the URL of the repository?" - echo "${cyan}(press enter to go with the default: $repo)" - echo "$color_reset" + # git email + if ! git config --global user.email; then + echo + echo + echo + echo + echo + echo '-------------------------------------------------------------------------------------' + echo "git needs an email (doesnt have to be valid), what email should I tell git?" read answer - if [ -n "$answer" ] - then - repo="$answer" + # if no answer + if [ -z "$answer" ]; then + git config --global user.email "change@this.com" + else + git config --global user.email "$answer" fi fi - - # - # get branch - # - if [ -z "$branch" ] - then - branch="master" - echo "$light_green" - echo "Which branch would you like to get?" - echo "${cyan}(press enter to go with the default: $branch)" - echo "$color_reset" + # git name + if ! git config --global user.name; then + echo + echo + echo + echo + echo + echo "git needs an name (doesnt have to be a real name), what name should I tell git?" read answer - if [ -n "$answer" ] - then - branch="$answer" + # if no answer + if [ -z "$answer" ]; then + git config --global user.name "MrCHANGE ME" + else + git config --global user.name "$answer" fi fi - + + # + # interactive setup + # # - # get mixin name + # if already inside a git repo, ask about merging # - if [ -z "$mixin_remote_name" ] - then - mixin_remote_name="@mixin" + if [ -d "$PWD/.git" ]; then + [ -n "$(command -v "clear")" ] && clear + echo + echo + echo "It looks like you are inside an existing project: ($PWD)" + # ask about mixing in another repository + question="${light_green}Do you want to combine (mixin) another repository into this project? [y/n]${color_reset}";answer="" + while true; do + echo "$question"; read response + case "$response" in + [Yy]* ) answer="yes"; break;; + [Nn]* ) answer="no"; break;; + * ) echo "Please answer yes or no";; + esac + done echo "" - echo "(advanced: press enter to skip)" - echo " When mixing-in another repo, a remote source is added to git" - echo " If you want the git remote to be called something other than $mixin_remote_name" - echo " enter the name now (if not, press enter to continue)" - echo "$color_reset" - read answer - if [ -n "$answer" ] - then - mixin_remote_name="$answer" + if [ "$answer" = "no" ]; then + echo "okay" + # check if file exists + if [ -f "./commands/start" ]; then + echo "You can run ${cyan}commands/start${color_reset} to get into the current project environment" + fi + fi + if [ "$answer" = "yes" ]; then + if [ -z "$repo" ]; then + repo="https://github.com/jeff-hykin/fornix" + echo "$light_green" + echo "What is the URL of the repository?" + echo "${cyan}(press enter to go with the default: $repo)" + echo "$color_reset" + read answer + if [ -n "$answer" ]; then + repo="$answer" + fi + fi + + # + # get branch + # + if [ -z "$branch" ]; then + branch="master" + echo "$light_green" + echo "Which branch would you like to get?" + echo "${cyan}(press enter to go with the default: $branch)" + echo "$color_reset" + read answer + if [ -n "$answer" ]; then + branch="$answer" + fi + fi + + # + # get mixin name + # + if [ -z "$mixin_remote_name" ]; then + mixin_remote_name="@mixin" + echo "" + echo "(advanced: press enter to skip)" + echo " When mixing-in another repo, a remote source is added to git" + echo " If you want the git remote to be called something other than $mixin_remote_name" + echo " enter the name now (if not, press enter to continue)" + echo "$color_reset" + read answer + if [ -n "$answer" ] + then + mixin_remote_name="$answer" + fi + [ -n "$(command -v "clear")" ] && clear + fi + + # + # perform the mixin + # + # clear out anything that used to be there + git remote remove "$mixin_remote_name" 2>/dev/null 1>/dev/null + # add it as a remote and start merging + git remote add "$mixin_remote_name" "$repo" && \ + git fetch "$mixin_remote_name" "$branch" && \ + git pull --allow-unrelated-histories "$mixin_remote_name" "$branch" && \ + git submodule update --init --recursive + + # if failed + if [ "$?" != "0" ] + then + echo "$light_red" + echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 + echo "| |" 1>&2 + echo "| looks like git could not add that mixin :/ |" 1>&2 + echo "| - Make sure the URL and branch name are correct |" 1>&2 + echo "| (if they are correct, hopefully there is error output above that gives a better idea as) |" 1>&2 + echo "| (to why git could not get the repo) |" 1>&2 + echo "| - Here is the command that had an error: |" 1>&2 + echo "| git remote add '$mixin_remote_name' '$repo' && \ " 1>&2 + echo "| git fetch '$mixin_remote_name' '$branch' && \ " 1>&2 + echo "| git pull --allow-unrelated-histories '$mixin_remote_name' '$branch' && \ " 1>&2 + echo "| git submodule update --init --recursive " 1>&2 + echo "| |" 1>&2 + echo "|-----------------------------------------------------------------------------------------------|" 1>&2 + echo "" + else + # check for conflicts + if [ -n "$(git status | grep "You have unmerged paths.")" ] + then + echo "$light_yellow" + echo "|-- Action Needed ------------------------------------------------------------------------------| $color_reset" 1>&2 + echo "| |" 1>&2 + echo "| Looks like you have a merge conflict (no big deal) |" 1>&2 + echo "| - Get the merge finished, and the mixin will be complete! |" 1>&2 + echo "| |" 1>&2 + echo "| Not sure how to resolve a merge conflict? |" 1>&2 + echo "| - How to resolve merge conflicts in VS Code: |" 1>&2 + echo "| https://www.youtube.com/watch?v=QmKdodJU-js |" 1>&2 + echo "| - How to resolve merge conflicts in command line: |" 1>&2 + echo "| https://phoenixnap.com/kb/how-to-resolve-merge-conflicts-in-git |" 1>&2 + echo "| |" 1>&2 + echo "|-----------------------------------------------------------------------------------------------|" 1>&2 + echo "" + else + echo "$light_yellow" + echo "|-- Success! -----------------------------------------------------------------------------------| $color_reset" + echo "| |" + echo "| - Looks like the mixin was successful! |" + echo "| |" + + # check if file exists + if [ -f "./commands/start" ] + then + echo "| You can run ${cyan}commands/start${color_reset} to get into the project environment now |" + echo "| |" + fi + echo "|-----------------------------------------------------------------------------------------------|" + echo "" + fi + fi fi - [ -n "$(command -v "clear")" ] && clear - fi - # - # perform the mixin + # setup or copy # - # clear out anything that used to be there - git remote remove "$mixin_remote_name" 2>/dev/null 1>/dev/null - # add it as a remote and start merging - git remote add "$mixin_remote_name" "$repo" && \ - git fetch "$mixin_remote_name" "$branch" && \ - git pull --allow-unrelated-histories "$mixin_remote_name" "$branch" && \ - git submodule update --init --recursive - - # if failed - if [ "$?" != "0" ] - then - echo "$light_red" - echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 - echo "| |" 1>&2 - echo "| looks like git could not add that mixin :/ |" 1>&2 - echo "| - Make sure the URL and branch name are correct |" 1>&2 - echo "| (if they are correct, hopefully there is error output above that gives a better idea as) |" 1>&2 - echo "| (to why git could not get the repo) |" 1>&2 - echo "| - Here is the command that had an error: |" 1>&2 - echo "| git remote add '$mixin_remote_name' '$repo' && \ " 1>&2 - echo "| git fetch '$mixin_remote_name' '$branch' && \ " 1>&2 - echo "| git pull --allow-unrelated-histories '$mixin_remote_name' '$branch' && \ " 1>&2 - echo "| git submodule update --init --recursive " 1>&2 - echo "| |" 1>&2 - echo "|-----------------------------------------------------------------------------------------------|" 1>&2 - echo "" else - # check for conflicts - if [ -n "$(git status | grep "You have unmerged paths.")" ] + echo "" + echo "" + echo "" + [ -n "$(command -v "clear")" ] && clear + echo "$light_purple" + echo "You're currently in this folder:" + echo "$color_reset" + echo " $PWD" + echo "$light_green" + echo "I'm going to download the project here, okay?" + echo "$cyan(press enter to continue, Ctrl+C to cancel)" + echo "$color_reset" + read answer + [ -n "$(command -v "clear")" ] && clear + + # + # get repo URL + # + if [ -z "$repo" ] then - echo "$light_yellow" - echo "|-- Action Needed ------------------------------------------------------------------------------| $color_reset" 1>&2 - echo "| |" 1>&2 - echo "| Looks like you have a merge conflict (no big deal) |" 1>&2 - echo "| - Get the merge finished, and the mixin will be complete! |" 1>&2 - echo "| |" 1>&2 - echo "| Not sure how to resolve a merge conflict? |" 1>&2 - echo "| - How to resolve merge conflicts in VS Code: |" 1>&2 - echo "| https://www.youtube.com/watch?v=QmKdodJU-js |" 1>&2 - echo "| - How to resolve merge conflicts in command line: |" 1>&2 - echo "| https://phoenixnap.com/kb/how-to-resolve-merge-conflicts-in-git |" 1>&2 - echo "| |" 1>&2 - echo "|-----------------------------------------------------------------------------------------------|" 1>&2 - echo "" - else - echo "$light_yellow" - echo "|-- Success! -----------------------------------------------------------------------------------| $color_reset" - echo "| |" - echo "| - Looks like the mixin was successful! |" - echo "| |" - - # check if file exists - if [ -f "./commands/start" ] + repo="https://github.com/jeff-hykin/fornix" + echo "$light_green" + echo "What is the URL of the repository?" + echo "${cyan}(press enter to go with the default: $repo)" + echo "$color_reset" + read answer + if [ -n "$answer" ] then - echo "| You can run ${cyan}commands/start${color_reset} to get into the project environment now |" - echo "| |" + repo="$answer" fi - echo "|-----------------------------------------------------------------------------------------------|" - echo "" fi - fi - fi - # - # setup or copy - # - else - echo "" - echo "" - echo "" - [ -n "$(command -v "clear")" ] && clear - echo "$light_purple" - echo "You're currently in this folder:" - echo "$color_reset" - echo " $PWD" - echo "$light_green" - echo "I'm going to download the project here, okay?" - echo "$cyan(press enter to continue, Ctrl+C to cancel)" - echo "$color_reset" - read answer - [ -n "$(command -v "clear")" ] && clear - - # - # get repo URL - # - if [ -z "$repo" ] - then - repo="https://github.com/jeff-hykin/fornix" - echo "$light_green" - echo "What is the URL of the repository?" - echo "${cyan}(press enter to go with the default: $repo)" - echo "$color_reset" - read answer - if [ -n "$answer" ] - then - repo="$answer" - fi - fi - - # - # get branch - # - if [ -z "$branch" ] - then - branch="master" - echo "$light_green" - echo "Which branch would you like to get?" - echo "${cyan}(press enter to go with the default: $branch)" - echo "$color_reset" - read answer - if [ -n "$answer" ] - then - branch="$answer" - fi - fi - - # - # setup or copy - # - if [ -z "$setup_or_copy" ] - then - echo "Last question" - question="$light_green""Do you want to setup or copy?${newline}$color_reset 1) if you (or your team) made this => setup${newline} 2) if the URL is a template => copy";answer='' - while true; do - echo "$question"; read response - case "$response" in - [1]* ) answer='setup'; break;; - [2]* ) answer='copy'; break;; - "copy" ) answer='copy'; break;; - "setup" ) answer='setup'; break;; - * ) echo "${newline}${newline}${light_yellow}Please answer with a 1 or 2${color_reset}${newline}${newline}";; - esac - done - setup_or_copy="$answer" - fi - - folder_name="$(basename "$repo")" - if [ -e "$folder_name" ] - then - echo "$light_red" - echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 - echo "| |" 1>&2 - echo "| - I was going to create the project in '$folder_name' " 1>&2 - echo "| But it looks like something named $folder_name already exists " 1>&2 - echo "| - Please move or delete it the re-run the command you just ran |" 1>&2 - echo "| |" 1>&2 - echo "|-----------------------------------------------------------------------------------------------|" 1>&2 - echo "" - else - # if setup - if [ "$setup_or_copy" = "setup" ] - then - echo "$light_green" - echo "# " - echo "# Setting up the '$branch' brach of $repo" - echo "# " - echo "$color_reset" - if git clone --branch "$branch" "$repo" "$folder_name" && cd "$folder_name" + + # + # get branch + # + if [ -z "$branch" ] then - # check if file exists - if [ -f "./commands/start" ] + branch="master" + echo "$light_green" + echo "Which branch would you like to get?" + echo "${cyan}(press enter to go with the default: $branch)" + echo "$color_reset" + read answer + if [ -n "$answer" ] then - echo "" - echo "Great! looks like it worked" - echo "${light_green}Any time you want to enter your project environment run these two commands" - echo "${cyan}" - echo " cd $(printf '%s' "'$(printf '%s' "$PWD" | sed 's/'"'"'/'"'"'"'"'"'"'"'"'/g')'")" - echo " commands/start" - echo "${color_reset}" - echo "Press enter to start the project" - read REPLY - echo "[starting project setup...]" - commands/start + branch="$answer" fi - else + fi + + # + # setup or copy + # + if [ -z "$setup_or_copy" ] + then + echo "Last question" + question="$light_green""Do you want to setup or copy?${newline}$color_reset 1) if you (or your team) made this => setup${newline} 2) if the URL is a template => copy";answer='' + while true; do + echo "$question"; read response + case "$response" in + [1]* ) answer='setup'; break;; + [2]* ) answer='copy'; break;; + "copy" ) answer='copy'; break;; + "setup" ) answer='setup'; break;; + * ) echo "${newline}${newline}${light_yellow}Please answer with a 1 or 2${color_reset}${newline}${newline}";; + esac + done + setup_or_copy="$answer" + fi + + folder_name="$(basename "$repo")" + if [ -e "$folder_name" ] + then echo "$light_red" echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 echo "| |" 1>&2 - echo "| - it looks like there was an error when trying to get the repo |" 1>&2 - echo "| |" 1>&2 - echo "| - here's the command I ran that caused an error |" 1>&2 - echo "| ${cyan}git clone --branch '$branch' '$repo' '$folder_name' && cd '$folder_name'${color_reset}" 1>&2 + echo "| - I was going to create the project in '$folder_name' " 1>&2 + echo "| But it looks like something named $folder_name already exists " 1>&2 + echo "| - Please move or delete it the re-run the command you just ran |" 1>&2 echo "| |" 1>&2 echo "|-----------------------------------------------------------------------------------------------|" 1>&2 echo "" - fi - # if copy - else - echo "$light_green" - echo "# " - echo "# Creating new empty repository" - echo "# " - echo "$color_reset" - mkdir -p "$folder_name" - cd "$folder_name" - git init && \ - echo "$newline$light_green#$newline# Copying the '$branch' branch of $repo${newline}#${color_reset}" && \ - git pull "$repo" "$branch" && { - echo "$light_purple" - echo "Project copied" + else + # if setup + if [ "$setup_or_copy" = "setup" ] + then + echo "$light_green" + echo "# " + echo "# Setting up the '$branch' brach of $repo" + echo "# " echo "$color_reset" - # check if file exists - if [ -f "./commands/start" ] + if git clone --branch "$branch" "$repo" "$folder_name" && cd "$folder_name" then + # check if file exists + if [ -f "./commands/start" ] + then + echo "" + echo "Great! looks like it worked" + echo "${light_green}Any time you want to enter your project environment run these two commands" + echo "${cyan}" + echo " cd $(printf '%s' "'$(printf '%s' "$PWD" | sed 's/'"'"'/'"'"'"'"'"'"'"'"'/g')'")" + echo " commands/start" + echo "${color_reset}" + echo "Press enter to start the project" + read REPLY + echo "[starting project setup...]" + commands/start + fi + else + echo "$light_red" + echo "|-- Problem ------------------------------------------------------------------------------------| $color_reset" 1>&2 + echo "| |" 1>&2 + echo "| - it looks like there was an error when trying to get the repo |" 1>&2 + echo "| |" 1>&2 + echo "| - here's the command I ran that caused an error |" 1>&2 + echo "| ${cyan}git clone --branch '$branch' '$repo' '$folder_name' && cd '$folder_name'${color_reset}" 1>&2 + echo "| |" 1>&2 + echo "|-----------------------------------------------------------------------------------------------|" 1>&2 echo "" - echo "Great! looks like it worked" - echo "${light_green}Any time you want to enter your project environment run these two commands" - echo "${cyan}" - echo " cd $(printf '%s' "'$(printf '%s' "$PWD" | sed 's/'"'"'/'"'"'"'"'"'"'"'"'/g')'")" - echo " commands/start" - echo "${color_reset}" - echo "Press enter to start the project" - read REPLY - echo "[starting project setup...]" - commands/start fi - } + # if copy + else + echo "$light_green" + echo "# " + echo "# Creating new empty repository" + echo "# " + echo "$color_reset" + mkdir -p "$folder_name" + cd "$folder_name" + git init && \ + echo "$newline$light_green#$newline# Copying the '$branch' branch of $repo${newline}#${color_reset}" && \ + git pull "$repo" "$branch" && { + echo "$light_purple" + echo "Project copied" + echo "$color_reset" + # check if file exists + if [ -f "./commands/start" ] + then + echo "" + echo "Great! looks like it worked" + echo "${light_green}Any time you want to enter your project environment run these two commands" + echo "${cyan}" + echo " cd $(printf '%s' "'$(printf '%s' "$PWD" | sed 's/'"'"'/'"'"'"'"'"'"'"'"'/g')'")" + echo " commands/start" + echo "${color_reset}" + echo "Press enter to start the project" + read REPLY + echo "[starting project setup...]" + commands/start + fi + } + fi + fi fi - fi + # success + return 0 fi fi From 614dd22bfaf1e630d9707bca35a7439b5760cfc0 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 7 Feb 2023 08:17:44 -0600 Subject: [PATCH 22/65] - --- commands/start | 1 + 1 file changed, 1 insertion(+) diff --git a/commands/start b/commands/start index b9312973..ebf653fd 100755 --- a/commands/start +++ b/commands/start @@ -55,6 +55,7 @@ then # the installer will have the instructions/error messages exit fi + unset install_repo fi fi From c17a1e1d4c10cd21b8ed7c9a7a70ca320560e33e Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 7 Feb 2023 08:19:05 -0600 Subject: [PATCH 23/65] - --- settings/extensions/nix/installer_helper | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/settings/extensions/nix/installer_helper b/settings/extensions/nix/installer_helper index de7ecbc5..1823acdb 100755 --- a/settings/extensions/nix/installer_helper +++ b/settings/extensions/nix/installer_helper @@ -217,7 +217,7 @@ else if [ -z "$(command -v "curl")" ]; then # if apt-get exists if [ -n "$(command -v "apt-get")" ]; then - sudo apt-get update && sudo apt-get install curl + sudo apt-get update && sudo apt-get install -y curl else echo "it looks like you don't have curl, please install curl then re-run this script" 1>&2 echo "alternatively, to get nix, manually run the commands inside https://releases.nixos.org/nix/nix-$nix_version/install" 1>&2 From 1e72d4e1a24060d59e6f0c533ddaae031916de4f Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 7 Feb 2023 09:32:11 -0600 Subject: [PATCH 24/65] - --- documentation/setup.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/setup.md b/documentation/setup.md index aef5f090..e351d3f6 100644 --- a/documentation/setup.md +++ b/documentation/setup.md @@ -3,7 +3,7 @@ ### If you're an Experienced/Senior Dev - (Don't git clone) -- Run this: `eval "$(curl -fsSL git.io/JE2Zm || wget -qO- git.io/JE2Zm)"` +- Run this: `setup_or_copy=setup branch=master eval "$(curl -fsSL git.io/JE2Zm || wget -qO- git.io/JE2Zm)"` - If you're on Windows, run it inside WSL (Ubuntu 20.04 preferably) - If you're a responsible human being and therefore don't want run a sketchy internet script, props to you 👍. Take a look at the "What is that `eval` command doing?" section at the bottom and you'll be able to run the commands yourself. From f1d127a8af2b184db570345f0bb179503c47fdf6 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Mon, 13 Mar 2023 10:12:06 -0500 Subject: [PATCH 25/65] slightly improve preprocessor #569 --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 30 ++++++++++++------- language_examples/#569.cpp | 9 ++++++ main/main.rb | 6 +++- 4 files changed, 35 insertions(+), 12 deletions(-) create mode 100644 language_examples/#569.cpp diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index ec950fa6..31148420 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((? Date: Mon, 13 Mar 2023 10:12:22 -0500 Subject: [PATCH 26/65] - --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e212f123..331741e2 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.17.4", + "version": "1.17.5", "icon": "icon.png", "scripts": {}, "keywords": [ From d632803df6aecf45fe55230a7177a90709eedb56 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 30 May 2023 09:49:00 -0500 Subject: [PATCH 27/65] update documentation --- documentation/CONTRIBUTING.md | 120 +++++++++++++++++++++++++++++----- 1 file changed, 105 insertions(+), 15 deletions(-) diff --git a/documentation/CONTRIBUTING.md b/documentation/CONTRIBUTING.md index 217ef329..65ba1780 100644 --- a/documentation/CONTRIBUTING.md +++ b/documentation/CONTRIBUTING.md @@ -125,18 +125,21 @@ phrase = Pattern.new( ## Readable Regex Guide Regex is pretty hard to read, so this repo uses a library to help. + +### Pattern API Overview + - `Pattern.new(*attributes)` or `.then(*attributes)` creates a new "shy" group - example: `Pattern.new(/foo/)` => `/(?:foo)/ - `.or(*attributes)` adds an alternation (`|`) - example: `Pattern.new(/foo/).or(/bar/)` => `/foo|(?:bar)/` - please note you may need more shy groups depending on order - `Pattern.new(/foo/).or(/bar/).maybe(@spaces)` becomes (simplified) `/(?:foo|bar)\s*/` + `Pattern.new(/foo/).or(/bar/).maybe(@spaces)` becomes (simplified) `/(?:foo|bar)\s*/` NOT `/(?:foo|bar\s*)/` - `maybe(*attributes)` or `.maybe(*attributes)` causes the pattern to match zero or one times (`?`) - example `maybe(/foo/)` => `/(?:foo)?/` -- `zeroOrMoreTimes(*attributes)` or `.zeroOrMoreTimes(*attributes)` causes the pattern to be matched zero or more times (`*`) - - example `zeroOrMoreTimes(/foo/)` => `/(?:foo)*/` -- `oneOrMoreTimes(*attributes)` or `.oneOrMoreTimes(*attributes)` causes the pattern to be matched one or more times (`+`) - - example `oneOrMoreTimes(/foo/)` => `/(?:foo)+/` +- `zeroOrMoreOf(*attributes)` or `.zeroOrMoreOf(*attributes)` causes the pattern to be matched zero or more times (`*`) + - example `zeroOrMoreOf(/foo/)` => `/(?:foo)*/` +- `oneOrMoreOf(*attributes)` or `.oneOrMoreOf(*attributes)` causes the pattern to be matched one or more times (`+`) + - example `oneOrMoreOf(/foo/)` => `/(?:foo)+/` - `lookBehindFor(regex)` or `.lookBehindFor(regex)` add a positive lookbehind - example `lookBehindFor(/foo/)` => `/(?<=foo)/` - `lookBehindToAvoid(regex)` or `.lookBehindToAvoid(regex)` add a negative lookbehind @@ -153,15 +156,91 @@ Regex is pretty hard to read, so this repo uses a library to help. - example `Pattern.new(match: /foo|bar/, reference: "foobar").matchResultOf("foobar")` => `/(foo|bar)\1/` - matches: `foofoo` and `barbar` but not `foobar` -helpers that are marked as accepting `*attributes` can accept either a regular expression, a hash that provides more info, or a variable that is either of those. -the hash provided to the helper patterns can have the following keys: - - `match:` the regular expression that should be matched - - `tag_as:` the scope-name to give this sub-expression - - `reference:` a name used to refer to this sub-expression in a `tag_as` or `back_reference` - - `comment:` unused, use regular ruby comments - - `should_partial_match`, `should_not_partial_match`, `should_fully_match`, and `should_not_fully_match` see unit testing +### Pattern API Details + +- The `*attributes` can be: + - A regular expression: `Pattern.new(/stuff/)` + - Another pattern: `Pattern.new(Pattern.new(/blah/))`) + - Or a bunch of named arguments: `Pattern.new({ match: /stuff/, })` +Here's a comprehesive list of named arguments (not all can be used together) + +```ruby +Pattern.new( + # unit tests + should_partial_match: [ "example text", ], + should_fully_match: [ "example text", ], + should_not_partial_match: [ "example text", ], + should_not_fully_match: [ "example text", ], + + # typical arguments + match: //, # regex or another pattern + tag_as: "", # string (textmate scope, which can contain space-sperated scopes) + comment: "", # a comment that will show up in the final generated-grammar file (rarely used) + includes: [ + :other_pattern_name, + # alternatively include Pattern.new OR PatternRange.new directly + PatternRange.new( + # stuff + ), + ], + # NOTE! if "includes:" is used then Textmate will ignore any sub-"tag_as" + # if "match:" is regex then this is not a problem (there are no sub-"tag_as"'s) + # BUT something like match: Pattern.new(match:/sub-thing1/,).then(match:/sub-thing2/, tag_as: "blah") + # then the tag_as: "blah" will get + # and instead let the included patterns do all the tagging + + + # + # repetition arguments + # + at_least: 3.times, + at_most: 5.times, + how_many_times?: 5.times, # repeat exactly 5 times + + # the follow two only works in repeating patterns (like at_least: ... or zeroOrMoreOf(), or oneOrMoreOf()) + as_few_as_possible?: false, + # equivlent to regex lazy option + # default value is false + # see https://stackoverflow.com/questions/2301285/what-do-lazy-and-greedy-mean-in-the-context-of-regular-expressions + # "as_few_as_possible?:" has an equivlent alias "lazy?:" + dont_back_track?: false, + # this is equivlent to regex atomic groups (can be efficient) + # default value is false + # http://www.rexegg.com/regex-disambiguation.html#atomic + # "dont_back_track?:" has an equivlent alias "possessive?:" + + # + # advanced + # + word_cannot_be_any_of: [ "word1" ], # default=[] + # this is highly useful for matching var-names while not matching builtin-keywords + # HOWEVERY only use this if + # 1. you're matching the whole word, not a small part of a word + # 2. the pattern always matches something (the pattern cant match an empty string) + # 3. what you consider a "word" matches the regex boundary's (\b) definition, meaning; + # underscore is not a seperator, dash is a seperator, etc + # this has limited usecase but is very useful when needed + + reference: "", # to create a name that can be referenced later for (regex backreferences) + preserve_references?: false, # default=false, setting to true will allow for + # reference name conflict. Usually the names are scrambled to prevent name-conflict + + # + # internal API (dont use directly, but listed here for comprehesiveness sake) + # + backreference_key: "reference_name", # use matchResultOf(), which is equivlent to regex backreference + subroutine_key: "reference_name", # use recursivelyMatch(), which is equivlent to regex subroutine + type: :lookAheadFor, # only valid values are :lookAheadFor, :lookAheadToAvoid, :lookBehindFor, :lookBehindToAvoid + # just used as a means of implementing lookAheadFor(), lookAheadToAvoid(), etc + placeholder: "name", # useful for recursive includes or patterns; grammar[:a_pattern] will return a placeholder + # if the pattern has not been created yet (e.g. grammar[:a_pattern] = a_pattern) + # when a grammar is exported unresolved placeholders will throw an error + adjectives: [ :isAKeyword, ], # a list of adjectives that describe the pattern, part of an untested grammar.tokenMatching() feature + pattern_filter: ->(pattern) {}, # part of untested grammar.tokenMatching() feature, only works with placeholders +) +``` ### PatternRange `PatternRange.new` is used to create a begin/end pattern rule. @@ -181,10 +260,21 @@ PatternRange.new( should_fully_match: [], should_not_fully_match: [], + # # advanced options - tag_contents_as: "", - while_pattern: Pattern.new(), # replaces "end_pattern" but the underlying behavior is strange, see: https://github.com/jeff-hykin/fornix/blob/877b89c5d4b2e51c6bf6bd019d3b34b04aaabe72/documentation/library/textmate_while.md#L1 - apply_end_pattern_last: false, # boolean, see https://www.apeth.com/nonblog/stories/textmatebundle.html + # + tag_contents_as: "", # NOTE; this is an alternative to "tag_as:" not to be used in combination + while_pattern: Pattern.new(), + # replaces "end_pattern" but the underlying behavior is strange, see: https://github.com/jeff-hykin/fornix/blob/74272281599174dcfc4ef163b770b2d5a1c5dc05/documentation/library/textmate_while.md#L1 + apply_end_pattern_last: false, + # default=false, rarely used but can be important + # see https://www.apeth.com/nonblog/stories/textmatebundle.html + # also has an alias "end_pattern_last:" + # also (for legacy reasons) has an alias "applyEndPatternLast:" + + tag_start_as: "", # not really used, instead just do start_pattern: Pattern.new(match:/blah/, tag_as:"blah") + tag_end_as: "", # not really used, instead just do end_pattern: Pattern.new(match:/blah/, tag_as:"blah") + tag_while_as: "", # not really used, instead just do while_pattern: Pattern.new(match:/blah/, tag_as:"blah") ) ``` From abb2cc439a377d0a8ed9f7a759919d6c3dedf9a6 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Wed, 9 Aug 2023 13:03:03 -0500 Subject: [PATCH 28/65] fix operator overload edgecase --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 24341 +++++++++++----- autogenerated/cpp_scopes.txt | 1 + language_examples/#569.spec.yaml | 79 + .../operator_overload_implicit_const.cpp | 121 + ...operator_overload_implicit_const.spec.yaml | 1979 ++ main/main.rb | 6 + package-lock.json | 4 +- package.json | 2 +- 9 files changed, 18534 insertions(+), 8001 deletions(-) create mode 100644 language_examples/#569.spec.yaml create mode 100644 language_examples/operator_overload_implicit_const.cpp create mode 100644 language_examples/operator_overload_implicit_const.spec.yaml diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 31148420..ddbfa6fc 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.class.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { - "patterns": [ - { - "match": "((?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.class.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "class_declare": { - "match": "((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.italic.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.bold.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.inline.raw.string.cpp" } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.italic.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.bold.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.inline.raw.string.cpp" } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", - "name": "storage.type.class.doxygen.cpp" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.italic.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.bold.doxygen.cpp" } - } - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)", - "captures": { - "1": { "name": "storage.type.class.doxygen.cpp" }, - "2": { "name": "markup.inline.raw.string.cpp" } - } - }, - { - "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", - "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" - }, - { - "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "10": { "name": "storage.type.modifier.calling-convention.cpp" }, - "11": { "patterns": [ { "include": "#inline_comment" } ] }, - "12": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "13": { "name": "comment.block.cpp" }, - "14": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "15": { "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" } - }, - "endCaptures": { }, - "name": "meta.function.definition.special.constructor.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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" }, - { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", - "captures": { - "1": { "name": "keyword.operator.assignment.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp" }, - "7": { "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp" } - } - }, - { "include": "#functional_specifiers_pre_parameters" }, - { - "begin": ":", - "end": "(?=\\{)", - "beginCaptures": { "0": { "name": "punctuation.separator.initializers.cpp" } }, - "endCaptures": { }, - "patterns": [ - { - "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", - "end": "\\)", - "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" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, - "contentName": "meta.parameter.initialization", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "begin": "((?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.special.constructor.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "constructor_root": { - "begin": "\\s*+((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.special.constructor.cpp" }, - "1": { "name": "storage.type.modifier.calling-convention.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" - }, - { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", - "end": "\\)", - "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" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" } }, - "contentName": "meta.parameter.initialization", - "patterns": [ { "include": "#evaluation_context" } ] - }, - { - "begin": "((?|\\?\\?>", - "beginCaptures": { }, - "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" } ] + "include": "source.x86_64" }, { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.special.constructor.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "control_flow_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)", - "end": "\\}", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "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": "(?]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))(?:\\s+)?(;?)", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + { + "include": "#gcc_attributes" + }, + { + "include": "#ms_attributes" + }, + { + "include": "#alignas_attribute" + } + ] + }, + "backslash_escapes": { + "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", + "name": "constant.character.escape" + }, + "block": { + "begin": "{", + "end": "}", + "beginCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.cpp" + } + }, + "name": "meta.block.cpp", + "patterns": [ + { + "include": "#function_body_context" + } + ] + }, + "block_comment": { + "begin": "\\s*+(\\/\\*)", + "end": "\\*\\/", + "beginCaptures": { + "1": { + "name": "punctuation.definition.comment.begin.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.comment.end.cpp" + } + }, + "name": "comment.block.cpp" + }, + "builtin_storage_type_initilizer": { + "begin": "\\s*+(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.class.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "storage.type.modifier.calling-convention.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "10": { "patterns": [ { "include": "#functional_specifiers_pre_parameters" } ] }, - "11": { "patterns": [ { "include": "#inline_comment" } ] }, - "12": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "13": { "name": "comment.block.cpp" }, - "14": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "15": { "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" } - }, - "endCaptures": { }, - "name": "meta.function.definition.special.member.destructor.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "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" }, - { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", - "captures": { - "1": { "name": "keyword.operator.assignment.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp" }, - "7": { "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp" } - } - }, - { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { "0": { "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" } }, - "contentName": "meta.function.definition.parameters.special.member.destructor", - "patterns": [ ] - }, - { "include": "#qualifiers_and_specifiers_post_parameters" }, - { "include": "$self" } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.special.member.destructor.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "destructor_root": { - "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.special.member.destructor.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "storage.type.modifier.calling-convention.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "10": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" - }, - { - "match": "(?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.special.member.destructor.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "diagnostic": { - "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?", - "end": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.enum.cpp" }, - "1": { "name": "storage.type.enum.cpp" }, - "2": { "name": "storage.type.enum.enum-key.$2.cpp" }, - "3": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "4": { "name": "entity.name.type.enum.cpp" }, - "5": { "name": "punctuation.separator.colon.type-specifier.cpp" }, - "6": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, - "7": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, - "8": { "patterns": [ { "include": "#template_call_range" } ] }, - "9": { }, - "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" } - }, - "endCaptures": { - "1": { "name": "punctuation.terminator.statement.cpp" }, - "2": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.block.enum.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.enum.cpp" } }, - "name": "meta.head.enum.cpp", - "patterns": [ { "include": "$self" } ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.enum.cpp" } }, - "name": "meta.body.enum.cpp", - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#enumerator_list" }, - { "include": "#comments" }, - { "include": "#comma" }, - { "include": "#semicolon" } - ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.enum.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "enum_declare": { - "match": "((?|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.class.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "class_declare": { + "match": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.extern.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "storage.type.extern.cpp" } - }, - "endCaptures": { - "1": { "name": "punctuation.terminator.statement.cpp" }, - "2": { "name": "punctuation.terminator.statement.cpp" } - }, - "name": "meta.block.extern.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.extern.cpp" } }, - "name": "meta.head.extern.cpp", - "patterns": [ { "include": "$self" } ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.extern.cpp" } }, - "name": "meta.body.extern.cpp", - "patterns": [ { "include": "$self" } ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.extern.cpp", - "patterns": [ { "include": "$self" } ] - }, - { "include": "$self" } - ] - }, - "function_body_context": { - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#using_namespace" }, - { "include": "#type_alias" }, - { "include": "#using_name" }, - { "include": "#namespace_alias" }, - { "include": "#typedef_class" }, - { "include": "#typedef_struct" }, - { "include": "#typedef_union" }, - { "include": "#misc_keywords" }, - { "include": "#standard_declares" }, - { "include": "#class_block" }, - { "include": "#struct_block" }, - { "include": "#union_block" }, - { "include": "#enum_block" }, - { "include": "#access_control_keywords" }, - { "include": "#block" }, - { "include": "#static_assert" }, - { "include": "#assembly" }, - { "include": "#function_pointer" }, - { "include": "#switch_statement" }, - { "include": "#goto_statement" }, - { "include": "#evaluation_context" }, - { "include": "#label" } - ] - }, - "function_call": { - "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.function.call.cpp" }, - "6": { "patterns": [ { "include": "#inline_comment" } ] }, - "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "name": "comment.block.cpp" }, - "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "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" } - }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" } }, - "patterns": [ { "include": "#evaluation_context" } ] - }, - "function_definition": { - "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.cpp" }, - "1": { "name": "storage.type.template.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + "3": { + "name": "comment.block.cpp" }, - "7": { - "patterns": [ - { - "match": "((?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + "2": { + "name": "comment.block.cpp" }, - "14": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "17": { "name": "comment.block.cpp" }, - "18": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "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": "(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", - "captures": { - "1": { "name": "punctuation.definition.function.return-type.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "7": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "10": { "name": "comment.block.cpp" }, - "11": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "12": { "patterns": [ { "include": "#inline_comment" } ] }, - "13": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "14": { "name": "comment.block.cpp" }, - "15": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "16": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|\\?\\?>", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.function.definition.cpp" } }, - "name": "meta.body.function.definition.cpp", - "patterns": [ { "include": "#function_body_context" } ] + "2": { + "name": "comment.block.cpp" }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.cpp", - "patterns": [ { "include": "$self" } ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } - ] + } + } + ] }, - "function_parameter_context": { - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#parameter" }, - { "include": "#comma" } - ] + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { + "11": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "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": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "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": "(?]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] - }, - "3": { "name": "keyword.control.directive.$5.cpp" }, - "4": { "name": "punctuation.definition.directive.cpp" }, - "6": { "name": "string.quoted.other.lt-gt.include.cpp" }, - "7": { "name": "punctuation.definition.string.begin.cpp" }, - "8": { "name": "punctuation.definition.string.end.cpp" }, - "9": { "patterns": [ { "include": "#inline_comment" } ] }, - "10": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "11": { "name": "string.quoted.double.include.cpp" }, - "12": { "name": "punctuation.definition.string.begin.cpp" }, - "13": { "name": "punctuation.definition.string.end.cpp" }, - "14": { "patterns": [ { "include": "#inline_comment" } ] }, - "15": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "16": { "name": "entity.name.other.preprocessor.macro.include.cpp" }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + } + } + }, + "comma": { + "match": ",", + "name": "punctuation.separator.delimiter.comma.cpp" + }, + "comma_in_template_argument": { + "match": ",", + "name": "punctuation.separator.delimiter.comma.template.argument.cpp" + }, + "comments": { + "patterns": [ + { + "begin": "^(?:\\s+)?+(\\/\\/[!\\/]+)", + "end": "(?<=\\n)(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "2": { + "name": "markup.italic.doxygen.cpp" + } + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - "21": { "patterns": [ { "include": "#inline_comment" } ] }, - "22": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "2": { + "name": "markup.bold.doxygen.cpp" } + } }, - "name": "meta.preprocessor.include.cpp" - }, - "inheritance_context": { - "patterns": [ - { "include": "#ever_present_context" }, - { - "match": ",", - "name": "punctuation.separator.delimiter.comma.inheritance.cpp" + { + "match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", - "captures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] - }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] - }, - "7": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))", - "end": "(?<=[;}])", - "beginCaptures": { - "1": { "name": "punctuation.definition.capture.begin.lambda.cpp" }, - "2": { - "name": "meta.lambda.capture.cpp", - "patterns": [ - { "include": "#the_this_keyword" }, - { - "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", - "captures": { - "1": { "name": "variable.parameter.capture.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { "name": "punctuation.separator.delimiter.comma.cpp" }, - "7": { "name": "keyword.operator.assignment.cpp" } - } - }, - { "include": "#evaluation_context" } - ] - }, - "3": { }, - "4": { "name": "punctuation.definition.capture.end.lambda.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { "name": "comment.block.cpp" }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } + { + "match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)", + "captures": { + "1": { + "name": "punctuation.definition.comment.begin.documentation.cpp" }, - "endCaptures": { }, - "patterns": [ + "2": { + "patterns": [ { - "begin": "\\(", - "end": "\\)", - "beginCaptures": { "0": { "name": "punctuation.definition.parameters.begin.lambda.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.definition.parameters.end.lambda.cpp" } }, - "name": "meta.function.definition.parameters.lambda.cpp", - "patterns": [ { "include": "#function_parameter_context" } ] + "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" }, { - "match": "(?", - "end": "(?=\\{)", - "beginCaptures": { "0": { "name": "punctuation.definition.lambda.return-type.cpp" } }, - "endCaptures": { }, - "patterns": [ - { "include": "#comments" }, - { - "match": "\\S+", - "name": "storage.type.return-type.lambda.cpp" - } - ] - }, - { - "begin": "\\{", - "end": "\\}", - "beginCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.lambda.cpp" } }, - "name": "meta.function.definition.body.lambda.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "language_constants": { - "match": "(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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*!\\/])[\\\\@](?:c|p))\\s+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" + }, + "2": { + "name": "markup.inline.raw.string.cpp" + } + } }, - "3": { "name": "variable.language.this.cpp" }, - "4": { "name": "variable.other.object.access.cpp" }, - "5": { "name": "punctuation.separator.dot-access.cpp" }, - "6": { "name": "punctuation.separator.pointer-access.cpp" }, - "7": { - "patterns": [ - { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "variable.language.this.cpp" }, - "6": { "name": "variable.other.object.property.cpp" }, - "7": { "name": "punctuation.separator.dot-access.cpp" }, - "8": { "name": "punctuation.separator.pointer-access.cpp" } - } - }, - { - "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "variable.language.this.cpp" }, - "6": { "name": "variable.other.object.access.cpp" }, - "7": { "name": "punctuation.separator.dot-access.cpp" }, - "8": { "name": "punctuation.separator.pointer-access.cpp" } - } - }, - { "include": "#member_access" }, - { "include": "#method_access" } - ] + { + "match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?", + "name": "storage.type.class.doxygen.cpp" }, - "8": { "name": "variable.other.property.cpp" } - } - }, - "memory_operators": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(delete)(?:\\s+)?(\\[\\])|(delete))|(new))(?!\\w))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ + { + "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" + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "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": [ - { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "variable.language.this.cpp" }, - "6": { "name": "variable.other.object.property.cpp" }, - "7": { "name": "punctuation.separator.dot-access.cpp" }, - "8": { "name": "punctuation.separator.pointer-access.cpp" } - } - }, + ] + }, + "3": { + "patterns": [ { - "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "variable.language.this.cpp" }, - "6": { "name": "variable.other.object.access.cpp" }, - "7": { "name": "punctuation.separator.dot-access.cpp" }, - "8": { "name": "punctuation.separator.pointer-access.cpp" } - } + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.namespace.cpp" }, - "1": { "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" } + { + "begin": "(?:\\s+)?+\\/\\*[!*]+(?:(?:\\n|$)|(?=\\s))", + "end": "[!*]*\\*\\/", + "beginCaptures": { + "0": { + "name": "punctuation.definition.comment.begin.documentation.cpp" + } + }, + "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" }, - "endCaptures": { }, - "name": "meta.block.namespace.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp" } }, - "name": "meta.head.namespace.cpp", - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#attributes_context" }, - { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.end.bracket.curly.namespace.cpp" } }, - "name": "meta.body.namespace.cpp", - "patterns": [ { "include": "$self" } ] - }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.namespace.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "noexcept_operator": { - "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.function.definition.special.operator-overload.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + } + }, + { + "match": "((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)", + "captures": { + "1": { + "name": "storage.type.class.doxygen.cpp" }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "patterns": [ { "include": "#inline_comment" } ] }, - "12": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "13": { "name": "comment.block.cpp" }, - "14": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "15": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.function.definition.special.operator-overload.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "operators": { - "patterns": [ - { - "begin": "((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.constructor.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "patterns": [ + { + "include": "#functional_specifiers_pre_parameters" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "11": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "12": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "13": { + "name": "comment.block.cpp" + }, + "14": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "15": { + "name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.function.definition.special.constructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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" + }, + { + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", + "captures": { + "1": { + "name": "keyword.operator.assignment.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp" + }, + "7": { + "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp" + } + } + }, + { + "include": "#functional_specifiers_pre_parameters" + }, + { + "begin": ":", + "end": "(?=\\{)", + "beginCaptures": { + "0": { + "name": "punctuation.separator.initializers.cpp" + } + }, + "endCaptures": { + }, + "patterns": [ { - "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "name": "entity.name.function.call.initializer.cpp" + }, + "2": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "3": { }, - "endCaptures": { "0": { "name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp" } }, - "contentName": "meta.arguments.operator.noexcept", - "patterns": [ { "include": "#evaluation_context" } ] + "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" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" + } + }, + "contentName": "meta.parameter.initialization", + "patterns": [ + { + "include": "#evaluation_context" + } + ] }, { - "begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { "name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp" } + "begin": "((?>=|\\|=", - "name": "keyword.operator.assignment.compound.bitwise.cpp" + "include": "#evaluation_context" + } + ] + }, + { + "include": "#qualifiers_and_specifiers_post_parameters" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.constructor.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "constructor_root": { + "begin": "\\s*+((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.constructor.cpp" + }, + "1": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp" + }, + { + "match": "(?>", - "name": "keyword.operator.bitwise.shift.cpp" + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - { - "match": "!=|<=|>=|==|<|>", - "name": "keyword.operator.comparison.cpp" + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "match": "&&|!|\\|\\|", - "name": "keyword.operator.logical.cpp" + "4": { + "name": "comment.block.cpp" }, - { - "match": "&|\\||\\^|~", - "name": "keyword.operator.bitwise.cpp" + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - { "include": "#assignment_operator" }, - { - "match": "%|\\*|\\/|-|\\+", - "name": "keyword.operator.arithmetic.cpp" + "6": { + "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp" }, - { "include": "#ternary_operator" } - ] - }, - "over_qualified_types": { - "patterns": [ + "7": { + "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp" + } + } + }, + { + "include": "#functional_specifiers_pre_parameters" + }, + { + "begin": ":", + "end": "(?=\\{)", + "beginCaptures": { + "0": { + "name": "punctuation.separator.initializers.cpp" + } + }, + "endCaptures": { + }, + "patterns": [ { - "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", + "end": "\\)", + "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" } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp" + } + }, + "contentName": "meta.parameter.initialization", + "patterns": [ + { + "include": "#evaluation_context" + } + ] }, { - "match": "(\\benum)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.constructor.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "control_flow_keywords": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)", + "end": "\\}", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "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": "(?]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))(?:\\s+)?(;?)", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "3": { + "name": "keyword.control.directive.import.cpp" + }, + "5": { + "name": "string.quoted.other.lt-gt.include.cpp" + }, + "6": { + "name": "punctuation.definition.string.begin.cpp" + }, + "7": { + "name": "punctuation.definition.string.end.cpp" + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "10": { + "name": "string.quoted.double.include.cpp" + }, + "11": { + "name": "punctuation.definition.string.begin.cpp" + }, + "12": { + "name": "punctuation.definition.string.end.cpp" + }, + "13": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "14": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "15": { + "name": "entity.name.other.preprocessor.macro.include.cpp" + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "18": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "19": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "20": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "21": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "22": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.preprocessor.import.cpp" + }, + "d9bc4796b0b_preprocessor_number_literal": { + "match": "(?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.member.destructor.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "patterns": [ + { + "include": "#functional_specifiers_pre_parameters" + } + ] + }, + "11": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "12": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "13": { + "name": "comment.block.cpp" + }, + "14": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "15": { + "name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.function.definition.special.member.destructor.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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" + }, + { + "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", + "captures": { + "1": { + "name": "keyword.operator.assignment.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp" + }, + "7": { + "name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp" + } + } + }, + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp" + } + }, + "contentName": "meta.function.definition.parameters.special.member.destructor", + "patterns": [ + + ] + }, + { + "include": "#qualifiers_and_specifiers_post_parameters" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.member.destructor.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "destructor_root": { + "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.member.destructor.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "storage.type.modifier.calling-convention.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp" + }, + { + "match": "(?|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.member.destructor.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "diagnostic": { + "begin": "(^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((?:error|warning)))\\b(?:\\s+)?", + "end": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.enum.cpp" + }, + "1": { + "name": "storage.type.enum.cpp" + }, + "2": { + "name": "storage.type.enum.enum-key.$2.cpp" + }, + "3": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "4": { + "name": "entity.name.type.enum.cpp" + }, + "5": { + "name": "punctuation.separator.colon.type-specifier.cpp" + }, + "6": { + "patterns": [ + { + "include": "#scope_resolution_inner_generated" + } + ] + }, + "7": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + "8": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "9": { + }, + "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" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.terminator.statement.cpp" + }, + "2": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.block.enum.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.enum.cpp" + } + }, + "name": "meta.head.enum.cpp", + "patterns": [ + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.enum.cpp" + } + }, + "name": "meta.body.enum.cpp", + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#enumerator_list" + }, + { + "include": "#comments" + }, + { + "include": "#comma" + }, + { + "include": "#semicolon" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.enum.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "enum_declare": { + "match": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.extern.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "storage.type.extern.cpp" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.terminator.statement.cpp" + }, + "2": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.block.extern.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.extern.cpp" + } + }, + "name": "meta.head.extern.cpp", + "patterns": [ + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.extern.cpp" + } + }, + "name": "meta.body.extern.cpp", + "patterns": [ + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.extern.cpp", + "patterns": [ + { + "include": "$self" + } + ] + }, + { + "include": "$self" + } + ] + }, + "function_body_context": { + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#using_namespace" + }, + { + "include": "#type_alias" + }, + { + "include": "#using_name" + }, + { + "include": "#namespace_alias" + }, + { + "include": "#typedef_class" + }, + { + "include": "#typedef_struct" + }, + { + "include": "#typedef_union" + }, + { + "include": "#misc_keywords" + }, + { + "include": "#standard_declares" + }, + { + "include": "#class_block" + }, + { + "include": "#struct_block" + }, + { + "include": "#union_block" + }, + { + "include": "#enum_block" + }, + { + "include": "#access_control_keywords" + }, + { + "include": "#block" + }, + { + "include": "#static_assert" + }, + { + "include": "#assembly" + }, + { + "include": "#function_pointer" + }, + { + "include": "#switch_statement" + }, + { + "include": "#goto_statement" + }, + { + "include": "#evaluation_context" + }, + { + "include": "#label" + } + ] + }, + "function_call": { + "begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_call_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.function.call.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "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" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" + } + }, + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "function_definition": { + "begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.cpp" + }, + "1": { + "name": "storage.type.template.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "match": "((?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "14": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "17": { + "name": "comment.block.cpp" + }, + "18": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "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": "(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "captures": { + "1": { + "name": "punctuation.definition.function.return-type.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "10": { + "name": "comment.block.cpp" + }, + "11": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "14": { + "name": "comment.block.cpp" + }, + "15": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "16": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "function_parameter_context": { + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#parameter" + }, + { + "include": "#comma" + } + ] + }, + "function_pointer": { + "begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "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": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "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": "(?]*(>?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/)))|((\\\")[^\\\"]*(\\\"?)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=\\/\\/))))|(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;)))))|((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:\\n|$)|(?=(?:\\/\\/|;))))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "3": { + "name": "keyword.control.directive.$5.cpp" + }, + "4": { + "name": "punctuation.definition.directive.cpp" + }, + "6": { + "name": "string.quoted.other.lt-gt.include.cpp" + }, + "7": { + "name": "punctuation.definition.string.begin.cpp" + }, + "8": { + "name": "punctuation.definition.string.end.cpp" + }, + "9": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "10": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "11": { + "name": "string.quoted.double.include.cpp" + }, + "12": { + "name": "punctuation.definition.string.begin.cpp" + }, + "13": { + "name": "punctuation.definition.string.end.cpp" + }, + "14": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "15": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "16": { + "name": "entity.name.other.preprocessor.macro.include.cpp" + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "21": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "22": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + } + }, + "name": "meta.preprocessor.include.cpp" + }, + "inheritance_context": { + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "match": ",", + "name": "punctuation.separator.delimiter.comma.inheritance.cpp" + }, + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "captures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))", + "end": "(?<=[;}])", + "beginCaptures": { + "1": { + "name": "punctuation.definition.capture.begin.lambda.cpp" + }, + "2": { + "name": "meta.lambda.capture.cpp", + "patterns": [ + { + "include": "#the_this_keyword" + }, + { + "match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))", + "captures": { + "1": { + "name": "variable.parameter.capture.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "name": "punctuation.separator.delimiter.comma.cpp" + }, + "7": { + "name": "keyword.operator.assignment.cpp" + } + } + }, + { + "include": "#evaluation_context" + } + ] + }, + "3": { + }, + "4": { + "name": "punctuation.definition.capture.end.lambda.cpp" + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "7": { + "name": "comment.block.cpp" + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + }, + "endCaptures": { + }, + "patterns": [ + { + "begin": "\\(", + "end": "\\)", + "beginCaptures": { + "0": { + "name": "punctuation.definition.parameters.begin.lambda.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.definition.parameters.end.lambda.cpp" + } + }, + "name": "meta.function.definition.parameters.lambda.cpp", + "patterns": [ + { + "include": "#function_parameter_context" + } + ] + }, + { + "match": "(?", + "end": "(?=\\{)", + "beginCaptures": { + "0": { + "name": "punctuation.definition.lambda.return-type.cpp" + } + }, + "endCaptures": { + }, + "patterns": [ + { + "include": "#comments" + }, + { + "match": "\\S+", + "name": "storage.type.return-type.lambda.cpp" + } + ] + }, + { + "begin": "\\{", + "end": "\\}", + "beginCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.lambda.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.lambda.cpp" + } + }, + "name": "meta.function.definition.body.lambda.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "language_constants": { + "match": "(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "3": { + "name": "variable.language.this.cpp" + }, + "4": { + "name": "variable.other.object.access.cpp" + }, + "5": { + "name": "punctuation.separator.dot-access.cpp" + }, + "6": { + "name": "punctuation.separator.pointer-access.cpp" + }, + "7": { + "patterns": [ + { + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "variable.language.this.cpp" + }, + "6": { + "name": "variable.other.object.property.cpp" + }, + "7": { + "name": "punctuation.separator.dot-access.cpp" + }, + "8": { + "name": "punctuation.separator.pointer-access.cpp" + } + } + }, + { + "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "variable.language.this.cpp" + }, + "6": { + "name": "variable.other.object.access.cpp" + }, + "7": { + "name": "punctuation.separator.dot-access.cpp" + }, + "8": { + "name": "punctuation.separator.pointer-access.cpp" + } + } + }, + { + "include": "#member_access" + }, + { + "include": "#method_access" + } + ] + }, + "8": { + "name": "variable.other.property.cpp" + } + } + }, + "memory_operators": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:(?:(delete)(?:\\s+)?(\\[\\])|(delete))|(new))(?!\\w))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "3": { + "name": "keyword.operator.wordlike.cpp" + }, + "4": { + "name": "keyword.operator.delete.array.cpp" + }, + "5": { + "name": "keyword.operator.delete.array.bracket.cpp" + }, + "6": { + "name": "keyword.operator.delete.cpp" + }, + "7": { + "name": "keyword.operator.new.cpp" + } + } + }, + "method_access": { + "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "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": [ + { + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "variable.language.this.cpp" + }, + "6": { + "name": "variable.other.object.property.cpp" + }, + "7": { + "name": "punctuation.separator.dot-access.cpp" + }, + "8": { + "name": "punctuation.separator.pointer-access.cpp" + } + } + }, + { + "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "variable.language.this.cpp" + }, + "6": { + "name": "variable.other.object.access.cpp" + }, + "7": { + "name": "punctuation.separator.dot-access.cpp" + }, + "8": { + "name": "punctuation.separator.pointer-access.cpp" + } + } + }, + { + "include": "#member_access" + }, + { + "include": "#method_access" + } + ] + }, + "10": { + "name": "entity.name.function.member.cpp" + }, + "11": { + "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.member.cpp" + } + }, + "patterns": [ + { + "include": "#evaluation_context" + } + ] + }, + "misc_keywords": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.namespace.cpp" + }, + "1": { + "name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.block.namespace.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.namespace.cpp" + } + }, + "name": "meta.head.namespace.cpp", + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#attributes_context" + }, + { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.namespace.cpp" + } + }, + "name": "meta.body.namespace.cpp", + "patterns": [ + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.namespace.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "noexcept_operator": { + "begin": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.operator-overload.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "12": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "13": { + "name": "comment.block.cpp" + }, + "14": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "15": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.operator-overload.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "operators": { + "patterns": [ + { + "begin": "((?>=|\\|=", + "name": "keyword.operator.assignment.compound.bitwise.cpp" + }, + { + "match": "<<|>>", + "name": "keyword.operator.bitwise.shift.cpp" + }, + { + "match": "!=|<=|>=|==|<|>", + "name": "keyword.operator.comparison.cpp" + }, + { + "match": "&&|!|\\|\\|", + "name": "keyword.operator.logical.cpp" + }, + { + "match": "&|\\||\\^|~", + "name": "keyword.operator.bitwise.cpp" + }, + { + "include": "#assignment_operator" + }, + { + "match": "%|\\*|\\/|-|\\+", + "name": "keyword.operator.arithmetic.cpp" + }, + { + "include": "#ternary_operator" + } + ] + }, + "over_qualified_types": { + "patterns": [ + { + "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", + "captures": { + "0": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "1": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "4": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "5": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "6": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_function_call": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_function_call_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_function_call_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_call_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.function.call.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + } + } + }, + "scope_resolution_function_definition": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_function_definition_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_function_definition_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_definition_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.function.definition.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" + } + } + }, + "scope_resolution_function_definition_operator_overload": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_function_definition_operator_overload_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_function_definition_operator_overload_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_definition_operator_overload_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" + } + } + }, + "scope_resolution_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + } + } + }, + "scope_resolution_namespace_alias": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_namespace_alias_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_namespace_alias_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_namespace_alias_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.namespace.alias.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" + } + } + }, + "scope_resolution_namespace_block": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_namespace_block_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_namespace_block_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_namespace_block_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.namespace.block.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" + } + } + }, + "scope_resolution_namespace_using": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_namespace_using_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_namespace_using_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_namespace_using_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.namespace.using.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" + } + } + }, + "scope_resolution_parameter": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_parameter_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_parameter_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_parameter_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.parameter.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" + } + } + }, + "scope_resolution_template_call": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_template_call_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_template_call_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_template_call_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.template.call.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" + } + } + }, + "scope_resolution_template_definition": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#scope_resolution_template_definition_inner_generated" + } + ] + }, + "1": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" + }, + "2": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + } + } + }, + "scope_resolution_template_definition_inner_generated": { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", + "captures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_template_definition_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.scope-resolution.template.definition.cpp" + }, + "6": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "7": { + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" + } + } + }, + "semicolon": { + "match": ";", + "name": "punctuation.terminator.statement.cpp" + }, + "simple_type": { + "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?", + "captures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "7": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.struct.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.struct.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "struct_declare": { + "match": "((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.switch.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "keyword.control.switch.cpp" + } + }, + "endCaptures": { + }, + "name": "meta.block.switch.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.switch.cpp" + } + }, + "name": "meta.head.switch.cpp", + "patterns": [ + { + "include": "#switch_conditional_parentheses" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.switch.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "template_argument_defaulted": { + "match": "(?<=<|,)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\s+((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(\\=)", + "captures": { + "1": { + "name": "storage.type.template.argument.$1.cpp" + }, + "2": { + "name": "entity.name.type.template.cpp" + }, + "3": { + "name": "keyword.operator.assignment.cpp" + } + } + }, + "template_call_context": { + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#template_call_range" + }, + { + "include": "#storage_types" + }, + { + "include": "#language_constants" + }, + { + "include": "#scope_resolution_template_call_inner_generated" + }, + { + "include": "#operators" + }, + { + "include": "#number_literal" + }, + { + "include": "#string_context" + }, + { + "include": "#comma_in_template_argument" + }, + { + "include": "#qualified_type" + } + ] + }, + "template_call_innards": { + "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+", + "captures": { + "0": { + "patterns": [ + { + "include": "#template_call_range" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + }, + "name": "meta.template.call.cpp" + }, + "template_call_range": { + "begin": "<", + "end": ">", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + "template_definition": { + "begin": "(?", + "beginCaptures": { + "1": { + "name": "storage.type.template.cpp" + }, + "2": { + "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.definition.cpp" + } + }, + "name": "meta.template.definition.cpp", + "patterns": [ + { + "begin": "(?<=\\w)(?:\\s+)?<", + "end": ">", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "include": "#template_definition_context" + } + ] + }, + "template_definition_argument": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\.\\.\\.)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?)(?:\\s+)?(class|typename)(?:\\s+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:\\s+)?(?:(\\=)(?:\\s+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))", + "captures": { + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "3": { + "name": "storage.type.template.argument.$3.cpp" + }, + "4": { + "patterns": [ + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "storage.type.template.argument.$0.cpp" + } + ] + }, + "5": { + "name": "entity.name.type.template.cpp" + }, + "6": { + "name": "storage.type.template.argument.$6.cpp" + }, + "7": { + "name": "punctuation.vararg-ellipses.template.definition.cpp" + }, + "8": { + "name": "entity.name.type.template.cpp" + }, + "9": { + "name": "storage.type.template.cpp" + }, + "10": { + "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" + }, + "11": { + "name": "storage.type.template.argument.$11.cpp" + }, + "12": { + "name": "entity.name.type.template.cpp" + }, + "13": { + "name": "punctuation.section.angle-brackets.end.template.definition.cpp" + }, + "14": { + "name": "storage.type.template.argument.$14.cpp" + }, + "15": { + "name": "entity.name.type.template.cpp" + }, + "16": { + "name": "keyword.operator.assignment.cpp" + }, + "17": { + "name": "punctuation.separator.delimiter.comma.template.argument.cpp" + } + } + }, + "template_definition_context": { + "patterns": [ + { + "include": "#scope_resolution_template_definition_inner_generated" + }, + { + "include": "#template_definition_argument" + }, + { + "include": "#template_argument_defaulted" + }, + { + "include": "#template_call_innards" + }, + { + "include": "#evaluation_context" + } + ] + }, + "template_explicit_instantiation": { + "match": "(?)(?:\\s+)?$", + "captures": { + "1": { + "name": "storage.type.template.cpp" + }, + "2": { + "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" + }, + "3": { + "name": "meta.template.definition.cpp", + "patterns": [ + { + "include": "#template_definition_context" + } + ] + }, + "4": { + "name": "punctuation.section.angle-brackets.end.template.definition.cpp" + } + } + }, + "ternary_operator": { + "begin": "\\?", + "end": ":", + "beginCaptures": { + "0": { + "name": "keyword.operator.ternary.cpp" + } + }, + "endCaptures": { + "0": { + "name": "keyword.operator.ternary.cpp" + } + }, + "patterns": [ + { + "include": "#ever_present_context" + }, + { + "include": "#string_context" + }, + { + "include": "#number_literal" + }, + { + "include": "#method_access" + }, + { + "include": "#member_access" + }, + { + "include": "#predefined_macros" + }, + { + "include": "#operators" + }, + { + "include": "#memory_operators" + }, + { + "include": "#wordlike_operators" + }, + { + "include": "#type_casting_operators" + }, + { + "include": "#control_flow_keywords" + }, + { + "include": "#exception_keywords" + }, + { + "include": "#the_this_keyword" + }, + { + "include": "#language_constants" + }, + { + "include": "#builtin_storage_type_initilizer" + }, + { + "include": "#qualifiers_and_specifiers_post_parameters" + }, + { + "include": "#functional_specifiers_pre_parameters" + }, + { + "include": "#storage_types" + }, + { + "include": "#lambdas" + }, + { + "include": "#attributes_context" + }, + { + "include": "#parentheses" + }, + { + "include": "#function_call" + }, + { + "include": "#scope_resolution_inner_generated" + }, + { + "include": "#square_brackets" + }, + { + "include": "#semicolon" + }, + { + "include": "#comma" + } + ], + "applyEndPatternLast": 1 + }, + "the_this_keyword": { + "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "9": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "entity.name.type.class.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "7": { - "patterns": [ - { - "match": "\\*", - "name": "storage.modifier.pointer.cpp" - }, - { - "match": "(?:\\&((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))){2,}\\&", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } - }, - "name": "invalid.illegal.reference-type.cpp" - }, - { - "match": "\\&", - "name": "storage.modifier.reference.cpp" - } - ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + }, + "14": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.class.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" }, - "17": { "patterns": [ { "include": "#inline_comment" } ] }, - "18": { - "patterns": [ + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.class.cpp" + } + }, + "name": "meta.body.class.cpp", + "patterns": [ + { + "include": "#function_pointer" }, - "4": { "name": "entity.name.type.struct.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + { + "include": "#static_assert" }, - "7": { - "patterns": [ + { + "include": "#constructor_inline" + }, + { + "include": "#destructor_inline" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.class.cpp", + "patterns": [ + { + "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))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", + "beginCaptures": { + "1": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, - "4": { "name": "entity.name.type.union.parameter.cpp" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", - "captures": { - "0": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + { + "begin": "<", + "end": ">", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] }, - "1": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#attributes_context" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ + { + "include": "#number_literal" + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "5": { + "name": "comment.block.cpp" + }, + "6": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "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": "(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.struct.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "patterns": [ + { + "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } - } - }, - "scope_resolution_function_call": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } - } - }, - "scope_resolution_function_call_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_function_call_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.function.call.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" } - } - }, - "scope_resolution_function_definition": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } - } - }, - "scope_resolution_function_definition_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_function_definition_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.function.definition.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp" } - } - }, - "scope_resolution_function_definition_operator_overload": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } - } - }, - "scope_resolution_function_definition_operator_overload_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_function_definition_operator_overload_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.function.definition.operator-overload.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp" } - } - }, - "scope_resolution_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" } - } - }, - "scope_resolution_namespace_alias": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } - } - }, - "scope_resolution_namespace_alias_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_namespace_alias_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.namespace.alias.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp" } - } - }, - "scope_resolution_namespace_block": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_namespace_block_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } - } - }, - "scope_resolution_namespace_block_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_namespace_block_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.namespace.block.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp" } - } - }, - "scope_resolution_namespace_using": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_namespace_using_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } - } - }, - "scope_resolution_namespace_using_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_namespace_using_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.namespace.using.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp" } - } - }, - "scope_resolution_parameter": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_parameter_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } - } - }, - "scope_resolution_parameter_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_parameter_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.parameter.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp" } - } - }, - "scope_resolution_template_call": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_template_call_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } - } - }, - "scope_resolution_template_call_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_template_call_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.template.call.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp" } - } - }, - "scope_resolution_template_definition": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#scope_resolution_template_definition_inner_generated" } ] }, - "1": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, - "2": { "patterns": [ { "include": "#template_call_range" } ] } - } - }, - "scope_resolution_template_definition_inner_generated": { - "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::)", - "captures": { - "1": { "patterns": [ { "include": "#scope_resolution_template_definition_inner_generated" } ] }, - "2": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" }, - "3": { "patterns": [ { "include": "#template_call_range" } ] }, - "4": { }, - "5": { "name": "entity.name.scope-resolution.template.definition.cpp" }, - "6": { - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_range" } ] - }, - "7": { }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp" } + }, + "endCaptures": { + "1": { + "name": "punctuation.terminator.statement.cpp" + }, + "2": { + "name": "punctuation.terminator.statement.cpp" } - }, - "semicolon": { - "match": ";", - "name": "punctuation.terminator.statement.cpp" - }, - "simple_type": { - "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?", - "captures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + }, + "name": "meta.block.struct.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.begin.bracket.curly.struct.cpp" + } + }, + "name": "meta.head.struct.cpp", + "patterns": [ + { + "include": "#ever_present_context" }, - "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + { + "include": "#inheritance_context" }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + { + "include": "#template_call_range" + } + ] + }, + { + "begin": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.struct.cpp" + } + }, + "name": "meta.body.struct.cpp", + "patterns": [ + { + "include": "#function_pointer" }, - "5": { "patterns": [ { "include": "#inline_comment" } ] }, - "6": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + { + "include": "#static_assert" }, - "7": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.struct.cpp", + "patterns": [ + { + "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))((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.union.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ { - "match": "((?|\\?\\?>", + "beginCaptures": { + }, + "endCaptures": { + "0": { + "name": "punctuation.section.block.end.bracket.curly.union.cpp" + } + }, + "name": "meta.body.union.cpp", + "patterns": [ + { + "include": "#function_pointer" + }, { - "match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )", - "name": "constant.character.escape" + "include": "#static_assert" }, { - "match": "\\\\.", - "name": "invalid.illegal.unknown-escape" + "include": "#constructor_inline" }, { - "match": "(?x) (?!%')(?!%\")%\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type", - "name": "constant.other.placeholder" + "include": "#destructor_inline" + }, + { + "include": "$self" } - ] - }, - "struct_block": { - "begin": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.struct.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { - "patterns": [ + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.union.cpp", + "patterns": [ + { + "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))((?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.struct.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "struct_declare": { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "captures": { + "1": { + "name": "storage.modifier.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "12": { "name": "variable.other.object.declare.cpp" }, - "13": { "patterns": [ { "include": "#inline_comment" } ] }, - "14": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] - } - } - }, - "switch_conditional_parentheses": { - "begin": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\()", - "end": "\\)", - "beginCaptures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp" } - }, - "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))((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.switch.cpp" }, - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "5": { "name": "keyword.control.switch.cpp" } - }, - "endCaptures": { }, - "name": "meta.block.switch.cpp", - "patterns": [ - { - "begin": "\\G ?", - "end": "(?:\\{|<%|\\?\\?<|(?=;))", - "beginCaptures": { }, - "endCaptures": { "0": { "name": "punctuation.section.block.begin.bracket.curly.switch.cpp" } }, - "name": "meta.head.switch.cpp", - "patterns": [ - { "include": "#switch_conditional_parentheses" }, - { "include": "$self" } - ] - }, - { - "begin": "(?<=\\{|<%|\\?\\?<)", - "end": "\\}|%>|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.switch.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "template_argument_defaulted": { - "match": "(?<=<|,)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\s+((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(\\=)", - "captures": { - "1": { "name": "storage.type.template.argument.$1.cpp" }, - "2": { "name": "entity.name.type.template.cpp" }, - "3": { "name": "keyword.operator.assignment.cpp" } - } - }, - "template_call_context": { - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#template_call_range" }, - { "include": "#storage_types" }, - { "include": "#language_constants" }, - { "include": "#scope_resolution_template_call_inner_generated" }, - { "include": "#operators" }, - { "include": "#number_literal" }, - { "include": "#string_context" }, - { "include": "#comma_in_template_argument" }, - { "include": "#qualified_type" } - ] - }, - "template_call_innards": { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+", - "captures": { - "0": { "patterns": [ { "include": "#template_call_range" } ] }, - "2": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "comment.block.cpp" }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } - }, - "name": "meta.template.call.cpp" - }, - "template_call_range": { - "begin": "<", - "end": ">", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - "template_definition": { - "begin": "(?", - "beginCaptures": { - "1": { "name": "storage.type.template.cpp" }, - "2": { "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" } - }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.definition.cpp" } }, - "name": "meta.template.definition.cpp", - "patterns": [ - { - "begin": "(?<=\\w)(?:\\s+)?<", - "end": ">", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "patterns": [ { "include": "#template_call_context" } ] - }, - { "include": "#template_definition_context" } - ] - }, - "template_definition_argument": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\.\\.\\.)(?:\\s+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|(?)(?:\\s+)?(class|typename)(?:\\s+((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?)(?:\\s+)?(?:(\\=)(?:\\s+)?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?(?:(,)|(?=>|$))", - "captures": { - "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + }, + "4": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "5": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "3": { "name": "storage.type.template.argument.$3.cpp" }, - "4": { - "patterns": [ - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "storage.type.template.argument.$0.cpp" - } - ] - }, - "5": { "name": "entity.name.type.template.cpp" }, - "6": { "name": "storage.type.template.argument.$6.cpp" }, - "7": { "name": "punctuation.vararg-ellipses.template.definition.cpp" }, - "8": { "name": "entity.name.type.template.cpp" }, - "9": { "name": "storage.type.template.cpp" }, - "10": { "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" }, - "11": { "name": "storage.type.template.argument.$11.cpp" }, - "12": { "name": "entity.name.type.template.cpp" }, - "13": { "name": "punctuation.section.angle-brackets.end.template.definition.cpp" }, - "14": { "name": "storage.type.template.argument.$14.cpp" }, - "15": { "name": "entity.name.type.template.cpp" }, - "16": { "name": "keyword.operator.assignment.cpp" }, - "17": { "name": "punctuation.separator.delimiter.comma.template.argument.cpp" } - } - }, - "template_definition_context": { - "patterns": [ - { "include": "#scope_resolution_template_definition_inner_generated" }, - { "include": "#template_definition_argument" }, - { "include": "#template_argument_defaulted" }, - { "include": "#template_call_innards" }, - { "include": "#evaluation_context" } - ] - }, - "template_explicit_instantiation": { - "match": "(?)(?:\\s+)?$", - "captures": { - "1": { "name": "storage.type.template.cpp" }, - "2": { "name": "punctuation.section.angle-brackets.begin.template.definition.cpp" }, - "3": { - "name": "meta.template.definition.cpp", - "patterns": [ { "include": "#template_definition_context" } ] - }, - "4": { "name": "punctuation.section.angle-brackets.end.template.definition.cpp" } - } - }, - "ternary_operator": { - "begin": "\\?", - "end": ":", - "beginCaptures": { "0": { "name": "keyword.operator.ternary.cpp" } }, - "endCaptures": { "0": { "name": "keyword.operator.ternary.cpp" } }, - "patterns": [ - { "include": "#ever_present_context" }, - { "include": "#string_context" }, - { "include": "#number_literal" }, - { "include": "#method_access" }, - { "include": "#member_access" }, - { "include": "#predefined_macros" }, - { "include": "#operators" }, - { "include": "#memory_operators" }, - { "include": "#wordlike_operators" }, - { "include": "#type_casting_operators" }, - { "include": "#control_flow_keywords" }, - { "include": "#exception_keywords" }, - { "include": "#the_this_keyword" }, - { "include": "#language_constants" }, - { "include": "#builtin_storage_type_initilizer" }, - { "include": "#qualifiers_and_specifiers_post_parameters" }, - { "include": "#functional_specifiers_pre_parameters" }, - { "include": "#storage_types" }, - { "include": "#lambdas" }, - { "include": "#attributes_context" }, - { "include": "#parentheses" }, - { "include": "#function_call" }, - { "include": "#scope_resolution_inner_generated" }, - { "include": "#square_brackets" }, - { "include": "#semicolon" }, - { "include": "#comma" } - ], - "applyEndPatternLast": 1 - }, - "the_this_keyword": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "keyword.operator.assignment.cpp" }, - "5": { "name": "keyword.other.typename.cpp" }, - "6": { "patterns": [ { "include": "#storage_specifiers" } ] }, - "7": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "2": { + "name": "comment.block.cpp" }, - "8": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + "2": { + "name": "comment.block.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + }, + "12": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.union.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.class.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { - "patterns": [ - { - "match": "((?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.class.cpp", - "patterns": [ - { - "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))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", - "beginCaptures": { - "1": { - "name": "meta.qualified_type.cpp", - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "2": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "3": { "patterns": [ { "include": "#inline_comment" } ] }, - "4": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "5": { "name": "comment.block.cpp" }, - "6": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "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": "(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.struct.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { - "patterns": [ - { - "match": "((?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.struct.cpp", - "patterns": [ - { - "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))((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.union.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { - "patterns": [ - { - "match": "((?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.union.cpp", - "patterns": [ - { - "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))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", - "captures": { - "1": { "name": "storage.modifier.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" }, - "4": { "patterns": [ { "include": "#inline_comment" } ] }, "5": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "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": "(?", - "beginCaptures": { "0": { "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, - "endCaptures": { "0": { "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "name": "meta.template.call.cpp", - "patterns": [ { "include": "#template_call_context" } ] - }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] + "name": "storage.type.modifier.final.cpp" }, "7": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "8": { "patterns": [ { "include": "#inline_comment" } ] }, "9": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "name": "comment.block.cpp" }, - "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" } - } - } - ] + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + }, + { + "match": "DLLEXPORT", + "name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp" + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp" + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "14": { + "name": "comment.block.cpp" + }, + "15": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "18": { + "name": "comment.block.cpp" + }, + "19": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "20": { + "name": "punctuation.separator.colon.inheritance.cpp" + } + }, + "endCaptures": { + "1": { + "name": "punctuation.terminator.statement.cpp" + }, + "2": { + "name": "punctuation.terminator.statement.cpp" + } + }, + "name": "meta.block.union.cpp", + "patterns": [ + { + "begin": "\\G ?", + "end": "(?:\\{|<%|\\?\\?<|(?=;))", + "beginCaptures": { + }, + "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": "(?<=\\{|<%|\\?\\?<)", + "end": "\\}|%>|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.union.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "union_declare": { + "match": "((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { "name": "meta.head.union.cpp" }, - "1": { "name": "storage.type.$1.cpp" }, - "2": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { "name": "comment.block.cpp" }, - "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "6": { - "patterns": [ - { "include": "#attributes_context" }, - { "include": "#number_literal" } - ] - }, - "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "8": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "9": { "name": "comment.block.cpp" }, - "10": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "11": { - "patterns": [ - { - "match": "((?|\\?\\?>", - "beginCaptures": { }, - "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]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { }, - "endCaptures": { }, - "name": "meta.tail.union.cpp", - "patterns": [ { "include": "$self" } ] - } - ] - }, - "union_declare": { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((? +#include +#include + +#include "types.hh" +#include "chunked-vector.hh" + +namespace nix { + +/* Symbol table used by the parser and evaluator to represent and look + up identifiers and attributes efficiently. SymbolTable::create() + converts a string into a symbol. Symbols have the property that + they can be compared efficiently (using an equality test), + because the symbol table stores only one copy of each string. */ + +/* This class mainly exists to give us an operator<< for ostreams. We could also + return plain strings from SymbolTable, but then we'd have to wrap every + instance of a symbol that is fmt()ed, which is inconvenient and error-prone. */ +class SymbolStr +{ + friend class SymbolTable; + +private: + const std::string * s; + + explicit SymbolStr(const std::string & symbol): s(&symbol) {} + +public: + bool operator == (std::string_view s2) const + { + return *s == s2; + } + + operator const std::string & () const + { + return *s; + } + + operator const std::string_view () const + { + return *s; + } + + friend std::ostream & operator <<(std::ostream & os, const SymbolStr & symbol); +}; + +class Symbol +{ + friend class SymbolTable; + +private: + uint32_t id; + + explicit Symbol(uint32_t id): id(id) {} + +public: + Symbol() : id(0) {} + + explicit operator bool() const { return id > 0; } + + bool operator<(const Symbol other) const { return id < other.id; } + bool operator==(const Symbol other) const { return id == other.id; } + bool operator!=(const Symbol other) const { return id != other.id; } +}; + +class SymbolTable +{ +private: + std::unordered_map> symbols; + ChunkedVector store{16}; + +public: + + Symbol create(std::string_view s) + { + // Most symbols are looked up more than once, so we trade off insertion performance + // for lookup performance. + // TODO: could probably be done more efficiently with transparent Hash and Equals + // on the original implementation using unordered_set + // FIXME: make this thread-safe. + auto it = symbols.find(s); + if (it != symbols.end()) return Symbol(it->second.second + 1); + + const auto & [rawSym, idx] = store.add(std::string(s)); + symbols.emplace(rawSym, std::make_pair(&rawSym, idx)); + return Symbol(idx + 1); + } + + std::vector resolve(const std::vector & symbols) const + { + std::vector result; + result.reserve(symbols.size()); + for (auto sym : symbols) + result.push_back((*this)[sym]); + return result; + } + + SymbolStr operator[](Symbol s) const + { + if (s.id == 0 || s.id > store.size()) + abort(); + return SymbolStr(store[s.id - 1]); + } + + size_t size() const + { + return store.size(); + } + + size_t totalSize() const; + + template + void dump(T callback) const + { + store.forEach(callback); + } +}; + +} diff --git a/language_examples/operator_overload_implicit_const.spec.yaml b/language_examples/operator_overload_implicit_const.spec.yaml new file mode 100644 index 00000000..5793ec6c --- /dev/null +++ b/language_examples/operator_overload_implicit_const.spec.yaml @@ -0,0 +1,1979 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.pragma + - keyword.control.directive.pragma + scopes: + - punctuation.definition.directive +- source: pragma + scopesEnd: + - keyword.control.directive.pragma +- source: once + scopes: + - entity.other.attribute-name.pragma.preprocessor + scopesEnd: + - meta.preprocessor.pragma +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: list +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: map +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: unordered_map +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: types.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: chunked-vector.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: namespace + scopesBegin: + - meta.block.namespace + - meta.head.namespace + scopes: + - keyword.other.namespace.definition + - storage.type.namespace.definition +- source: nix + scopes: + - entity.name.namespace +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.namespace + scopesEnd: + - meta.head.namespace +- source: /* + scopesBegin: + - meta.body.namespace + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Symbol table used by the parser and evaluator to represent and look' +- source: ' up identifiers and attributes efficiently. SymbolTable::create()' +- source: ' converts a string into a symbol. Symbols have the property that' +- source: ' they can be compared efficiently (using an equality test),' +- source: ' because the symbol table stores only one copy of each string. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end +- source: /* + scopes: + - punctuation.definition.comment.begin +- source: ' This class mainly exists to give us an operator<< for ostreams. We could also' +- source: ' return plain strings from SymbolTable, but then we''d have to wrap every' +- source: ' instance of a symbol that is fmt()ed, which is inconvenient and error-prone. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: class + scopesBegin: + - meta.block.class + scopes: + - meta.head.class + - storage.type.class +- source: SymbolStr + scopes: + - entity.name.type.class +- source: '{' + scopes: + - meta.head.class + - punctuation.section.block.begin.bracket.curly.class +- source: friend + scopesBegin: + - meta.body.class + scopes: + - storage.modifier.specifier.functional.pre-parameters.friend +- source: class + scopesBegin: + - meta.block.class + scopes: + - meta.head.class + - storage.type.class +- source: SymbolTable + scopes: + - entity.name.type.class +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.class +- source: private + scopesBegin: + - storage.type.modifier.access.control.private +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.private +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'string ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' s' +- source: ; + scopes: + - punctuation.terminator.statement +- source: explicit + scopesBegin: + - meta.function.definition.special.constructor + scopes: + - storage.modifier.specifier.functional.pre-parameters.explicit +- source: SymbolStr + scopesBegin: + - meta.head.function.definition.special.constructor + scopes: + - entity.name.function.constructor + - entity.name.function.definition.special.constructor +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.special.constructor +- source: const + scopesBegin: + - meta.function.definition.parameters.special.constructor + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: symbol + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.constructor + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.constructor +- source: ':' + scopes: + - punctuation.separator.initializers +- source: s + scopes: + - entity.name.function.call.initializer +- source: ( + scopes: + - >- + punctuation.section.arguments.begin.bracket.round.function.call.initializer +- source: '&' + scopesBegin: + - meta.parameter.initialization + scopes: + - keyword.operator.bitwise +- source: symbol + scopesEnd: + - meta.parameter.initialization +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call.initializer +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.head.function.definition.special.constructor +- source: '}' + scopes: + - meta.body.function.definition.special.constructor + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.function.definition.special.constructor +- source: public + scopesBegin: + - storage.type.modifier.access.control.public +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.public +- source: bool + scopesBegin: + - meta.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '==' + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: std + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string_view + scopes: + - entity.name.type.parameter +- source: s2 + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: 's ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' s2' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.body.function.definition.special.operator-overload +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: const + scopes: + - storage.modifier.const + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: std + scopes: + - entity.name.scope-resolution.operator-overload +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.operator-overload +- source: string + scopes: + - meta.head.function.definition.special.operator-overload + - entity.name.operator.type +- source: '&' + scopes: + - entity.name.operator.type.reference +- source: ( + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: s +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.body.function.definition.special.operator-overload +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: const + scopes: + - storage.modifier.const + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: std + scopes: + - entity.name.scope-resolution.operator-overload +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.operator-overload +- source: string_view + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - entity.name.operator.type +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: s +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.body.function.definition.special.operator-overload +- source: friend + scopes: + - storage.modifier.specifier.functional.pre-parameters.friend +- source: std + scopesBegin: + - meta.function.definition.special.operator-overload + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: ostream + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: '&' + scopes: + - storage.modifier.reference +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '<<' + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: std + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: ostream + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: os + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: SymbolStr + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: symbol + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.head.function.definition.special.operator-overload +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.class + scopesEnd: + - meta.body.class +- source: ; + scopes: + - punctuation.terminator.statement +- source: class + scopes: + - meta.head.class + - storage.type.class +- source: Symbol + scopes: + - entity.name.type.class +- source: '{' + scopes: + - meta.head.class + - punctuation.section.block.begin.bracket.curly.class +- source: friend + scopesBegin: + - meta.body.class + scopes: + - storage.modifier.specifier.functional.pre-parameters.friend +- source: class + scopesBegin: + - meta.block.class + scopes: + - meta.head.class + - storage.type.class +- source: SymbolTable + scopes: + - entity.name.type.class +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.class +- source: private + scopesBegin: + - storage.type.modifier.access.control.private +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.private +- source: uint32_t + scopes: + - storage.type + - storage.type.built-in +- source: ' id' +- source: ; + scopes: + - punctuation.terminator.statement +- source: explicit + scopesBegin: + - meta.function.definition.special.constructor + scopes: + - storage.modifier.specifier.functional.pre-parameters.explicit +- source: Symbol + scopesBegin: + - meta.head.function.definition.special.constructor + scopes: + - entity.name.function.constructor + - entity.name.function.definition.special.constructor +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.special.constructor +- source: uint32_t + scopesBegin: + - meta.function.definition.parameters.special.constructor + - meta.parameter + scopes: + - storage.type + - storage.type.built-in +- source: id + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.constructor + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.constructor +- source: ':' + scopes: + - punctuation.separator.initializers +- source: id + scopes: + - entity.name.function.call.initializer +- source: ( + scopes: + - >- + punctuation.section.arguments.begin.bracket.round.function.call.initializer +- source: id + scopes: + - meta.parameter.initialization +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call.initializer +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.head.function.definition.special.constructor +- source: '}' + scopes: + - meta.body.function.definition.special.constructor + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.function.definition.special.constructor +- source: public + scopesBegin: + - storage.type.modifier.access.control.public +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.public +- source: Symbol + scopesBegin: + - meta.function.definition.special.constructor + - meta.head.function.definition.special.constructor + scopes: + - entity.name.function.constructor + - entity.name.function.definition.special.constructor +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.special.constructor +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.constructor +- source: ':' + scopes: + - punctuation.separator.initializers +- source: id + scopes: + - entity.name.function.call.initializer +- source: ( + scopes: + - >- + punctuation.section.arguments.begin.bracket.round.function.call.initializer +- source: '0' + scopes: + - meta.parameter.initialization + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call.initializer +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.head.function.definition.special.constructor +- source: '}' + scopes: + - meta.body.function.definition.special.constructor + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.function.definition.special.constructor +- source: explicit + scopes: + - storage.modifier.specifier.functional.pre-parameters.explicit +- source: operator + scopesBegin: + - meta.function.definition.special.operator-overload + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: bool + scopes: + - entity.name.operator.type +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: ' id ' +- source: '>' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.body.function.definition.special.operator-overload +- source: bool + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: < + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: const + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: Symbol + scopes: + - entity.name.type.parameter +- source: other + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: ' id ' +- source: < + scopes: + - keyword.operator.comparison +- source: other + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.body.function.definition.special.operator-overload +- source: bool + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '==' + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: const + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: Symbol + scopes: + - entity.name.type.parameter +- source: other + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: ' id ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: other + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.body.function.definition.special.operator-overload +- source: bool + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '!=' + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: const + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: Symbol + scopes: + - entity.name.type.parameter +- source: other + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: return + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.return +- source: ' id ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: other + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.body.function.definition.special.operator-overload +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.class + scopesEnd: + - meta.body.class +- source: ; + scopes: + - punctuation.terminator.statement +- source: class + scopes: + - meta.head.class + - storage.type.class +- source: SymbolTable + scopes: + - entity.name.type.class +- source: '{' + scopes: + - meta.head.class + - punctuation.section.block.begin.bracket.curly.class +- source: private + scopesBegin: + - meta.body.class + - storage.type.modifier.access.control.private +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.private +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: unordered_map +- source: < + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string_view +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: pair +- source: < + scopes: + - keyword.operator.comparison +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'string ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: uint32_t + scopes: + - storage.type + - storage.type.built-in +- source: '>>' + scopes: + - keyword.operator.bitwise.shift +- source: ' symbols' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' ChunkedVector' +- source: < + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '8192' + scopes: + - constant.numeric.decimal +- source: '>' + scopes: + - keyword.operator.comparison +- source: ' store' +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '16' + scopes: + - constant.numeric.decimal +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: public + scopesBegin: + - storage.type.modifier.access.control.public +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.public +- source: Symbol + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: create + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: std + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string_view + scopes: + - entity.name.type.parameter +- source: s + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: // + scopesBegin: + - meta.body.function.definition + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Most symbols are looked up more than once, so we trade off insertion performance' +- source: // + scopes: + - punctuation.definition.comment +- source: ' for lookup performance.' +- source: // + scopes: + - punctuation.definition.comment +- source: ' TODO: could probably be done more efficiently with transparent Hash and Equals' +- source: // + scopes: + - punctuation.definition.comment +- source: ' on the original implementation using unordered_set' +- source: // + scopes: + - punctuation.definition.comment +- source: ' FIXME: make this thread-safe.' + scopesEnd: + - comment.line.double-slash +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' it ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: symbols + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'it ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: symbols + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: Symbol + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: it + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - keyword.operator.bitwise +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: rawSym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' idx' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: store + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: add + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: string + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: symbols + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: rawSym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: make_pair + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '&' + scopes: + - keyword.operator.bitwise +- source: rawSym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' idx' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: Symbol + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'idx ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: SymbolStr + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: resolve + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: const + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: vector + scopes: + - entity.name.type.parameter +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Symbol + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call +- source: '&' + scopes: + - storage.modifier.reference +- source: symbols + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector +- source: < + scopes: + - keyword.operator.comparison +- source: SymbolStr +- source: '>' + scopes: + - keyword.operator.comparison +- source: ' result' +- source: ; + scopes: + - punctuation.terminator.statement +- source: result + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: reserve + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: symbols + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' sym ' +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' symbols' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: result + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: this + scopes: + - variable.language.this +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: sym +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ' result' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: SymbolStr + scopesBegin: + - meta.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - entity.name.type +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: '[]' + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: Symbol + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - entity.name.type.parameter +- source: s + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: if + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: s + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: '||' + scopes: + - keyword.operator.logical +- source: s + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: '>' + scopes: + - keyword.operator.comparison +- source: store + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: abort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: SymbolStr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: store + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: s + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: id + scopes: + - variable.other.property +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.body.function.definition.special.operator-overload +- source: size_t + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type + - storage.type.built-in +- source: size + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: return + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.return +- source: store + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: size_t + scopes: + - meta.qualified_type + - storage.type + - storage.type.built-in +- source: totalSize + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: template + scopes: + - storage.type.template +- source: < + scopes: + - punctuation.section.angle-brackets.begin.template.definition +- source: typename + scopesBegin: + - meta.template.definition + scopes: + - storage.type.template.argument.typename +- source: T + scopes: + - entity.name.type.template + scopesEnd: + - meta.template.definition +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.definition +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: dump + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: T + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: callback + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: store + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forEach + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: callback +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.class + scopesEnd: + - meta.body.class +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.class +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.namespace diff --git a/main/main.rb b/main/main.rb index d9cb7c86..7ddf1ef2 100644 --- a/main/main.rb +++ b/main/main.rb @@ -1182,6 +1182,12 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: /operator/, tag_as: "keyword.other.operator.overload", # find any scope resolutions + ).maybe( + std_space.then( + tag_as: "storage.modifier.const", + match: variableBounds[ /const/ ], + ) + # find any scope resolutions ).then(std_space).then( inline_scope_resolution[".operator-overload"] # find the actual operator/type diff --git a/package-lock.json b/package-lock.json index 358b0aca..223bad01 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "better-cpp-syntax", - "version": "1.17.4", + "version": "1.17.5", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "better-cpp-syntax", - "version": "1.17.4", + "version": "1.17.5", "devDependencies": { "chalk": "^2.4.2", "dictionary-en-us": "^2.1.1", diff --git a/package.json b/package.json index 331741e2..12749011 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.17.5", + "version": "1.17.6", "icon": "icon.png", "scripts": {}, "keywords": [ From 4321d021afd89a060af1ad9f6125e4dffdcbb875 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Wed, 9 Aug 2023 15:05:59 -0500 Subject: [PATCH 29/65] major improvement to type highlighting --- LICENSE | 695 +- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 7096 +- autogenerated/cpp_scopes.txt | 11 + commands/project/publish | 2 +- language_examples/#047.spec.yaml | 7 +- language_examples/#059.spec.yaml | 5 +- language_examples/#064.spec.yaml | 112 +- language_examples/#210.spec.yaml | 5 +- language_examples/#218.spec.yaml | 54 +- language_examples/#224.spec.yaml | 46 +- language_examples/#230.spec.yaml | 39 +- language_examples/#256.spec.yaml | 15 +- language_examples/#259.spec.yaml | 5 +- language_examples/#264.spec.yaml | 8 + language_examples/#386.spec.yaml | 4 + language_examples/#410.spec.yaml | 8 + language_examples/#433.spec.yaml | 5 +- language_examples/#438.spec.yaml | 10 +- language_examples/#501.spec.yaml | 25 +- language_examples/#590.spec.yaml | 8 +- language_examples/#617.spec.yaml | 5 +- language_examples/#vs-73292.spec.yaml | 5 +- language_examples/feature_assembly.spec.yaml | 5 +- .../feature_basic_string_sso.spec.yaml | 298 +- .../feature_thread_local.spec.yaml | 5 +- .../feature_trailing_return_types.spec.yaml | 84 +- language_examples/macro_issue.spec.yaml | 4 + language_examples/misc_000.spec.yaml | 56 +- language_examples/misc_005.spec.yaml | 2182 +- language_examples/misc_006.spec.yaml | 56 +- language_examples/misc_asteria.spec.yaml | 564 +- language_examples/misc_test.spec.yaml | 8 +- ...operator_overload_implicit_const.spec.yaml | 33 +- language_examples/pr_435.spec.yaml | 7 +- language_examples/ranged_for.cpp | 3994 + language_examples/ranged_for.spec.yaml | 69814 ++++++++++++++++ language_examples/test.spec.yaml | 12 +- language_examples/theme_demo.spec.yaml | 20 +- language_examples/theme_demo2.spec.yaml | 5 +- main/main.rb | 123 +- package-lock.json | 4 +- package.json | 2 +- 43 files changed, 81967 insertions(+), 3481 deletions(-) create mode 100644 language_examples/ranged_for.cpp create mode 100644 language_examples/ranged_for.spec.yaml diff --git a/LICENSE b/LICENSE index c74c8945..94a9ed02 100644 --- a/LICENSE +++ b/LICENSE @@ -1,21 +1,674 @@ -MIT License - -Copyright (c) 2019 Jeff Hykin - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index ddbfa6fc..0dcf45a2 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>=|\\|=","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)","end":"(?:(?=\\))|(,))|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", "captures": { - "0": { + "1": { "patterns": [ { - "begin": "(?=.)", - "end": "$", + "include": "#inline_comment" + } + ] + }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "3": { + "patterns": [ + { + "include": "#storage_specifiers" + } + ] + }, + "4": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "5": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "6": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "7": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } }, "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } }, + "name": "meta.template.call.cpp", "patterns": [ { - "match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.function.definition.special.operator-overload.cpp" }, - "1": { + "11": { "patterns": [ { "include": "#inline_comment" } ] }, - "2": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "3": { - "name": "comment.block.cpp" - }, - "4": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "12": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] }, - "5": { - "name": "meta.qualified_type.cpp", + "13": { "patterns": [ { "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" - }, - { - "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "6": { - "patterns": [ - { - "include": "#attributes_context" - }, - { - "include": "#number_literal" - } - ] - }, - "7": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "9": { - "name": "comment.block.cpp" - }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "11": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "12": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "13": { - "name": "comment.block.cpp" - }, - "14": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "15": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" - }, - { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(;)", + "captures": { + "1": { "patterns": [ { "include": "#inline_comment" } ] }, - "55": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "56": { - "name": "comment.block.cpp" - }, - "57": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "58": { + "2": { "patterns": [ { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp" - }, - { - "match": "(?", "beginCaptures": { "0": { - "name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp" + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" } }, "endCaptures": { "0": { - "name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp" + "name": "punctuation.section.angle-brackets.end.template.call.cpp" } }, - "contentName": "meta.function.definition.parameters.special.operator-overload", + "name": "meta.template.call.cpp", "patterns": [ { - "include": "#function_parameter_context" - }, - { - "include": "#evaluation_context" + "include": "#template_call_context" } ] }, { - "include": "#qualifiers_and_specifiers_post_parameters" + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#attributes_context" }, { - "match": "(\\=)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(default)|(delete))", + "include": "#number_literal" + } + ] + }, + "9": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "10": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", "captures": { "1": { - "name": "keyword.operator.assignment.cpp" + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "name": "comment.block.cpp" }, "3": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + } + } + } + ] + }, + "11": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "12": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "captures": { + "1": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "4": { + "2": { "name": "comment.block.cpp" }, - "5": { + "3": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" - }, - "6": { - "name": "keyword.other.default.function.cpp" - }, - "7": { - "name": "keyword.other.delete.function.cpp" } } + } + ] + }, + "13": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" }, { - "include": "$self" + "match": "(?|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp" - } - }, - "name": "meta.body.function.definition.special.operator-overload.cpp", + "14": { "patterns": [ { - "include": "#function_body_context" + "include": "#template_call_range" } ] }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.function.definition.special.operator-overload.cpp", + "15": { + }, + "16": { "patterns": [ { - "include": "$self" + "include": "#inline_comment" } ] - } - ] - }, - "operators": { - "patterns": [ - { - "begin": "((?>=|\\|=", - "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" + "26": { + "name": "variable.other.object.declare.cpp" }, - { - "include": "#assignment_operator" + "27": { + "patterns": [ + { + "include": "#inline_comment" + } + ] }, - { - "match": "%|\\*|\\/|-|\\+", - "name": "keyword.operator.arithmetic.cpp" + "28": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] }, - { - "include": "#ternary_operator" + "29": { + "name": "punctuation.terminator.statement.cpp" } - ] + } }, - "over_qualified_types": { - "patterns": [ - { - "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.function.definition.special.operator-overload.cpp" + }, + "1": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "2": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "3": { + "name": "comment.block.cpp" + }, + "4": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "5": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, - "8": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", "patterns": [ { - "include": "#inline_comment" + "include": "#template_call_context" } ] }, - "13": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "14": { - "name": "variable.other.object.declare.cpp" - }, - "15": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "16": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "17": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "18": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "19": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "20": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" } - } + ] }, - { - "match": "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|\\?\\?>", + "beginCaptures": { + }, + "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]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.function.definition.special.operator-overload.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "operators": { + "patterns": [ + { + "begin": "((?>", + "name": "keyword.operator.bitwise.shift.cpp" + }, + { + "match": "!=|<=|>=|==|<|>", + "name": "keyword.operator.comparison.cpp" + }, + { + "match": "&&|!|\\|\\|", + "name": "keyword.operator.logical.cpp" + }, + { + "match": "&|\\||\\^|~", + "name": "keyword.operator.bitwise.cpp" + }, + { + "match": "(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", + "captures": { + "1": { + "name": "keyword.operator.assignment.compound.cpp" + }, + "2": { + "name": "keyword.operator.assignment.compound.bitwise.cpp" + }, + "3": { + "name": "keyword.operator.assignment.cpp" + } + } + }, + { + "match": "%|\\*|\\/|-|\\+", + "name": "keyword.operator.arithmetic.cpp" + }, + { + "include": "#ternary_operator" + } + ] + }, + "over_qualified_types": { + "patterns": [ + { + "match": "(\\bstruct)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", - "captures": { - "0": { + "9": { "patterns": [ { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "14": { + "name": "variable.other.object.declare.cpp" + }, + "15": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "16": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "17": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "18": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "19": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "20": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + } + } + }, + "parameter_union": { + "match": "(\\bunion)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", + "captures": { + "0": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "1": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "4": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "5": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "6": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)", + "captures": { + "1": { + "name": "meta.type.cpp" + }, + "2": { + "patterns": [ + { + "include": "#storage_specifiers" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "14": { + "name": "comment.block.cpp" + }, + "15": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "18": { + "name": "comment.block.cpp" + }, + "19": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "20": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)", + "captures": { + "1": { + "name": "meta.type.cpp" + }, + "2": { + "patterns": [ + { + "include": "#storage_specifiers" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "meta.qualified_type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "11": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "12": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "13": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "14": { + "name": "comment.block.cpp" + }, + "15": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "16": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "17": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "18": { + "name": "comment.block.cpp" + }, + "19": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "20": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + "39": { + "name": "comment.block.cpp" + }, + "40": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "41": { + "name": "punctuation.definition.begin.bracket.square.binding.cpp" + }, + "42": { + "patterns": [ + { + "include": "#inline_comment" } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" + ] + }, + "43": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "44": { + "name": "comment.block.cpp" + }, + "45": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "46": { + "name": "variable.other.for.cpp" + }, + "47": { + "patterns": [ + { + "include": "#inline_comment" } - }, - "name": "meta.template.call.cpp", + ] + }, + "48": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "49": { + "name": "comment.block.cpp" + }, + "50": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "51": { + "name": "punctuation.separator.delimiter.comma.cpp" + }, + "52": { "patterns": [ { - "include": "#template_call_context" + "include": "#inline_comment" } ] }, - { - "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", - "name": "entity.name.type.cpp" - } - ] - }, - "1": { - "patterns": [ - { - "include": "#attributes_context" + "53": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - { - "include": "#number_literal" - } - ] - }, - "2": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "3": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" + "54": { + "name": "comment.block.cpp" + }, + "55": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "56": { + "name": "variable.other.for.cpp" + }, + "57": { + "patterns": [ + { + "include": "#inline_comment" } - } - } - ] - }, - "4": { - "patterns": [ - { - "include": "#inline_comment" - } - ] - }, - "5": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" + ] + }, + "58": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "59": { + "name": "comment.block.cpp" + }, + "60": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "61": { + "name": "punctuation.definition.end.bracket.square.binding.cpp" + }, + "62": { + "patterns": [ + { + "include": "#inline_comment" } - } - } - ] - }, - "6": { - "patterns": [ - { - "match": "::", - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + ] }, - { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", @@ -13656,6 +15125,9 @@ }, "name": "meta.conditional.switch.cpp", "patterns": [ + { + "include": "#range_for_inner" + }, { "include": "#evaluation_context" } diff --git a/autogenerated/cpp_scopes.txt b/autogenerated/cpp_scopes.txt index 3cc132dd..32cf2dd7 100644 --- a/autogenerated/cpp_scopes.txt +++ b/autogenerated/cpp_scopes.txt @@ -168,6 +168,7 @@ meta.arguments.operator.sizeof.variadic meta.arguments.operator.typeid meta.asm.cpp meta.banner.character.cpp +meta.binding.cpp meta.block.class.cpp meta.block.cpp meta.block.enum.cpp @@ -222,9 +223,11 @@ meta.head.struct.cpp meta.head.switch.cpp meta.head.union.cpp meta.initialization.cpp +meta.initialization.parameter.cpp meta.lambda.capture.cpp meta.parameter.cpp meta.parameter.initialization +meta.parens.control.for.cpp meta.parens.cpp meta.parens.preprocessor.conditional.cpp meta.preprocessor.conditional @@ -255,11 +258,14 @@ meta.template.definition.cpp meta.template.explicit-instantiation.cpp meta.toc-list.banner.block.cpp meta.toc-list.banner.double-slash.cpp +meta.type.cpp meta.using-namespace.cpp punctuation.accessor.attribute.cpp +punctuation.accessor.initializer.cpp punctuation.cpp punctuation.definition.begin.bracket.square punctuation.definition.begin.bracket.square.array.type.cpp +punctuation.definition.begin.bracket.square.binding.cpp punctuation.definition.begin.bracket.square.cpp punctuation.definition.capture.begin.lambda.cpp punctuation.definition.capture.end.lambda.cpp @@ -272,6 +278,7 @@ punctuation.definition.comment.end.documentation.cpp punctuation.definition.directive.cpp punctuation.definition.end.bracket.square punctuation.definition.end.bracket.square.array.type.cpp +punctuation.definition.end.bracket.square.binding.cpp punctuation.definition.end.bracket.square.cpp punctuation.definition.function.pointer.dereference.cpp punctuation.definition.function.return-type.cpp @@ -468,15 +475,19 @@ support.type.posix-reserved.cpp support.type.posix-reserved.pthread.cpp variable.language.this.cpp variable.other.asm.label.cpp +variable.other.assignment.cpp variable.other.definition.pointer.function.cpp variable.other.enummember.cpp +variable.other.for.cpp variable.other.macro.argument.cpp variable.other.object variable.other.object.access.cpp variable.other.object.declare.cpp +variable.other.object.declare.for.cpp variable.other.object.property.cpp variable.other.property.cpp variable.parameter.capture.cpp variable.parameter.cpp +variable.parameter.initializer.cpp variable.parameter.pointer.function.cpp variable.parameter.preprocessor.cpp \ No newline at end of file diff --git a/commands/project/publish b/commands/project/publish index d9121d48..2a4839cf 100755 --- a/commands/project/publish +++ b/commands/project/publish @@ -1,4 +1,4 @@ #!/usr/bin/env bash -vsce publish --pat "$1" && echo "published on VSCE" +# vsce publish --pat "$1" && echo "published on VSCE" ovsx publish -p "$2" && echo "published on OVSX" diff --git a/language_examples/#047.spec.yaml b/language_examples/#047.spec.yaml index 42c4437b..9c2564cf 100644 --- a/language_examples/#047.spec.yaml +++ b/language_examples/#047.spec.yaml @@ -36,11 +36,14 @@ - source: enum scopesBegin: - meta.body.function.definition + - meta.qualified_type scopes: - - storage.type.enum.declare + - storage.type.enum - source: bar scopes: - - entity.name.type.enum + - entity.name.type + scopesEnd: + - meta.qualified_type - source: b scopes: - variable.other.object.declare diff --git a/language_examples/#059.spec.yaml b/language_examples/#059.spec.yaml index 6db126e8..53fd3ef0 100644 --- a/language_examples/#059.spec.yaml +++ b/language_examples/#059.spec.yaml @@ -25,9 +25,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' postWakeup ' +- source: postWakeup + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#064.spec.yaml b/language_examples/#064.spec.yaml index 421f0a10..5216e208 100644 --- a/language_examples/#064.spec.yaml +++ b/language_examples/#064.spec.yaml @@ -25,12 +25,15 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -48,12 +51,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -70,12 +76,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -94,12 +103,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -117,12 +129,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -150,12 +165,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -182,12 +200,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -216,12 +237,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -249,12 +273,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -289,12 +316,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -328,12 +358,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -369,12 +402,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -409,12 +445,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -455,12 +494,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -500,12 +542,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -551,12 +596,15 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'a ' + - storage.modifier.pointer +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#210.spec.yaml b/language_examples/#210.spec.yaml index f3175096..8375e9ab 100644 --- a/language_examples/#210.spec.yaml +++ b/language_examples/#210.spec.yaml @@ -78,9 +78,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' succ ' +- source: succ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#218.spec.yaml b/language_examples/#218.spec.yaml index 0d112d53..3d9e0e9f 100644 --- a/language_examples/#218.spec.yaml +++ b/language_examples/#218.spec.yaml @@ -112,9 +112,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' a a' +- source: a scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: a + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -194,14 +200,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' a' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -214,12 +227,15 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: 'a ' + - storage.modifier.reference +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -237,9 +253,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -630,13 +649,25 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' a a' +- source: a scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: a + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' a a ' +- source: a + scopes: + - meta.qualified_type + - entity.name.type +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -801,14 +832,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' a' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#224.spec.yaml b/language_examples/#224.spec.yaml index f38bbd5b..dbc4e23a 100644 --- a/language_examples/#224.spec.yaml +++ b/language_examples/#224.spec.yaml @@ -32,34 +32,42 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: const + scopesBegin: + - meta.parens.control.for + - meta.binding scopes: - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise + - storage.modifier.reference - source: '[' - scopesBegin: - - meta.bracket.square.access scopes: - - punctuation.definition.begin.bracket.square + - punctuation.definition.begin.bracket.square.binding - source: a + scopes: + - variable.other.for - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.for - source: ']' scopes: - - punctuation.definition.end.bracket.square - scopesEnd: - - meta.bracket.square.access + - punctuation.definition.end.bracket.square.binding - source: ':' scopes: - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding - source: ' c' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -101,31 +109,39 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: const + scopesBegin: + - meta.parens.control.for + - meta.binding scopes: - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '[' - scopesBegin: - - meta.bracket.square.access scopes: - - punctuation.definition.begin.bracket.square + - punctuation.definition.begin.bracket.square.binding - source: a + scopes: + - variable.other.for - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.for - source: ']' scopes: - - punctuation.definition.end.bracket.square - scopesEnd: - - meta.bracket.square.access + - punctuation.definition.end.bracket.square.binding - source: ':' scopes: - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding - source: ' c' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#230.spec.yaml b/language_examples/#230.spec.yaml index 0828e916..8da75cb5 100644 --- a/language_examples/#230.spec.yaml +++ b/language_examples/#230.spec.yaml @@ -24,11 +24,14 @@ - source: class scopesBegin: - meta.body.function.definition + - meta.qualified_type scopes: - - storage.type.class.declare + - storage.type.class - source: var scopes: - - entity.name.type.class + - entity.name.type + scopesEnd: + - meta.qualified_type - source: '*' scopesBegin: - storage.modifier.pointer @@ -37,7 +40,7 @@ - storage.modifier.pointer - source: thing scopes: - - variable.other.object.declare + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -84,11 +87,15 @@ scopesEnd: - comment.line.double-slash - source: struct + scopesBegin: + - meta.qualified_type scopes: - - storage.type.struct.declare + - storage.type.struct - source: var scopes: - - entity.name.type.struct + - entity.name.type + scopesEnd: + - meta.qualified_type - source: '*' scopesBegin: - storage.modifier.pointer @@ -97,7 +104,7 @@ - storage.modifier.pointer - source: thing scopes: - - variable.other.object.declare + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -144,11 +151,15 @@ scopesEnd: - comment.line.double-slash - source: enum + scopesBegin: + - meta.qualified_type scopes: - - storage.type.enum.declare + - storage.type.enum - source: var scopes: - - entity.name.type.enum + - entity.name.type + scopesEnd: + - meta.qualified_type - source: '*' scopesBegin: - storage.modifier.pointer @@ -157,7 +168,7 @@ - storage.modifier.pointer - source: thing scopes: - - variable.other.object.declare + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -204,11 +215,15 @@ scopesEnd: - comment.line.double-slash - source: union + scopesBegin: + - meta.qualified_type scopes: - - storage.type.union.declare + - storage.type.union - source: var scopes: - - entity.name.type.union + - entity.name.type + scopesEnd: + - meta.qualified_type - source: '*' scopesBegin: - storage.modifier.pointer @@ -217,7 +232,7 @@ - storage.modifier.pointer - source: thing scopes: - - variable.other.object.declare + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#256.spec.yaml b/language_examples/#256.spec.yaml index e99aa3ab..e29cf162 100644 --- a/language_examples/#256.spec.yaml +++ b/language_examples/#256.spec.yaml @@ -353,13 +353,18 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\tCharT " +- source: CharT scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -385,6 +390,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: size_t + scopesBegin: + - meta.parens.control.for scopes: - storage.type - storage.type.built-in @@ -410,6 +417,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#259.spec.yaml b/language_examples/#259.spec.yaml index 0076aedb..e8a8d699 100644 --- a/language_examples/#259.spec.yaml +++ b/language_examples/#259.spec.yaml @@ -98,9 +98,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#264.spec.yaml b/language_examples/#264.spec.yaml index 4b3f97e4..82384563 100644 --- a/language_examples/#264.spec.yaml +++ b/language_examples/#264.spec.yaml @@ -64,6 +64,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -89,6 +91,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -213,6 +217,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -238,6 +244,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#386.spec.yaml b/language_examples/#386.spec.yaml index 928bf26c..86086648 100644 --- a/language_examples/#386.spec.yaml +++ b/language_examples/#386.spec.yaml @@ -157,6 +157,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -182,6 +184,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#410.spec.yaml b/language_examples/#410.spec.yaml index f4b66847..184b67d8 100644 --- a/language_examples/#410.spec.yaml +++ b/language_examples/#410.spec.yaml @@ -220,6 +220,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -249,6 +251,8 @@ scopes: - keyword.operator.increment - source: itr + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -372,6 +376,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -401,6 +407,8 @@ scopes: - keyword.operator.increment - source: itr + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#433.spec.yaml b/language_examples/#433.spec.yaml index 180681f2..d60a9f69 100644 --- a/language_examples/#433.spec.yaml +++ b/language_examples/#433.spec.yaml @@ -408,9 +408,12 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' test ' +- source: test + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#438.spec.yaml b/language_examples/#438.spec.yaml index 5f1ac4ea..ca0205c2 100644 --- a/language_examples/#438.spec.yaml +++ b/language_examples/#438.spec.yaml @@ -138,9 +138,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x ' +- source: x + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -296,9 +299,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x ' +- source: x + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#501.spec.yaml b/language_examples/#501.spec.yaml index 52010467..13b8e29d 100644 --- a/language_examples/#501.spec.yaml +++ b/language_examples/#501.spec.yaml @@ -25,9 +25,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -97,9 +100,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' b ' +- source: b + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -173,9 +179,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' c ' +- source: c + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -246,9 +255,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' c ' +- source: c + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -271,9 +283,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' c ' +- source: c + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#590.spec.yaml b/language_examples/#590.spec.yaml index 93314f0f..97e5d46d 100644 --- a/language_examples/#590.spec.yaml +++ b/language_examples/#590.spec.yaml @@ -166,7 +166,13 @@ - meta.body.function.definition scopes: - constant.character.escape.line-continuation -- source: ' der v' +- source: der + scopes: + - meta.qualified_type + - entity.name.type +- source: v + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#617.spec.yaml b/language_examples/#617.spec.yaml index 4f64ea4b..95ce2290 100644 --- a/language_examples/#617.spec.yaml +++ b/language_examples/#617.spec.yaml @@ -25,9 +25,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#vs-73292.spec.yaml b/language_examples/#vs-73292.spec.yaml index a4091914..d16d77dc 100644 --- a/language_examples/#vs-73292.spec.yaml +++ b/language_examples/#vs-73292.spec.yaml @@ -25,9 +25,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' test_enum ' +- source: test_enum + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/feature_assembly.spec.yaml b/language_examples/feature_assembly.spec.yaml index 0156862f..46efa924 100644 --- a/language_examples/feature_assembly.spec.yaml +++ b/language_examples/feature_assembly.spec.yaml @@ -67,9 +67,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/feature_basic_string_sso.spec.yaml b/language_examples/feature_basic_string_sso.spec.yaml index d2b24000..16040cc1 100644 --- a/language_examples/feature_basic_string_sso.spec.yaml +++ b/language_examples/feature_basic_string_sso.spec.yaml @@ -2224,9 +2224,12 @@ - meta.block - source: size_t scopes: + - meta.qualified_type - storage.type - storage.type.built-in -- source: ' remain ' +- source: remain + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -2587,9 +2590,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' small ' +- source: small + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -2860,7 +2866,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: "\t\t\t\tsize_type capacity " +- source: size_type + scopes: + - meta.qualified_type + - entity.name.type +- source: capacity + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -3655,9 +3667,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' buf ' +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -3910,9 +3925,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' size ' +- source: size + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -3961,9 +3979,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' buf ' +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4109,9 +4130,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' old_cap ' +- source: old_cap + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4137,9 +4161,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' new_cap ' +- source: new_cap + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4317,9 +4344,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' distance ' +- source: distance + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4349,9 +4379,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' buf ' +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4674,9 +4707,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' distance ' +- source: distance + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4706,9 +4742,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' old_buf ' +- source: old_buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4738,9 +4777,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' new_cap ' +- source: new_cap + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4771,9 +4813,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' new_buf ' +- source: new_buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -5271,9 +5316,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' distance ' +- source: distance + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -5839,13 +5887,18 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\t\tCharT " +- source: CharT scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -5871,6 +5924,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: size_t + scopesBegin: + - meta.parens.control.for scopes: - storage.type - storage.type.built-in @@ -5896,6 +5951,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -6093,9 +6150,15 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\t\tsize_type count " +- source: size_type scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - meta.qualified_type + - entity.name.type +- source: count + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -6943,9 +7006,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' count ' +- source: count + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -6973,11 +7039,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t\tCharT " +- source: CharT + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -7368,9 +7439,15 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\t\tsize_type count " +- source: size_type scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - meta.qualified_type + - entity.name.type +- source: count + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -7392,11 +7469,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tCharT " +- source: CharT + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -7677,7 +7759,13 @@ - source: ' perform new alloc then copy' scopesEnd: - comment.line.double-slash -- source: "\t\t\t\tsize_type count " +- source: size_type + scopes: + - meta.qualified_type + - entity.name.type +- source: count + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -7699,11 +7787,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t\tCharT " +- source: CharT + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -8187,9 +8280,15 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\t\t_Sv cv " +- source: _Sv scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - meta.qualified_type + - entity.name.type +- source: cv + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -8197,7 +8296,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tsize_type count " +- source: size_type + scopes: + - meta.qualified_type + - entity.name.type +- source: count + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9011,7 +9116,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: "\t\t\t\tsize_type count " +- source: size_type + scopes: + - meta.qualified_type + - entity.name.type +- source: count + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9216,9 +9327,15 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: "\t\t\tsize_type count " +- source: size_type scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - entity.name.type +- source: count + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9398,11 +9515,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tCharT " +- source: CharT + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9586,13 +9708,18 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: "\t\t\tCharT " +- source: CharT scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -10032,7 +10159,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t_Sv cv " +- source: _Sv + scopes: + - meta.qualified_type + - entity.name.type +- source: cv + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -10040,7 +10173,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tsize_type count " +- source: size_type + scopes: + - meta.qualified_type + - entity.name.type +- source: count + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -10062,11 +10201,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tCharT " +- source: CharT + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -10181,11 +10325,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\tCharT " +- source: CharT + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -10211,6 +10360,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: size_t + scopesBegin: + - meta.parens.control.for scopes: - storage.type - storage.type.built-in @@ -10236,6 +10387,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11018,9 +11171,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' count ' +- source: count + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -11048,11 +11204,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t\tCharT " +- source: CharT + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'buf ' + - storage.modifier.pointer +- source: buf + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13947,9 +14108,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' distance ' +- source: distance + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14864,9 +15028,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' indx ' +- source: indx + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14911,9 +15078,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' ch ' +- source: ch + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -15383,9 +15553,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: "\t\t\t_Sv sv " +- source: _Sv scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: sv + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -15689,9 +15865,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: "\t\t\t_Sv sv " +- source: _Sv scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: sv + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/feature_thread_local.spec.yaml b/language_examples/feature_thread_local.spec.yaml index 1b13a13a..d8f32c49 100644 --- a/language_examples/feature_thread_local.spec.yaml +++ b/language_examples/feature_thread_local.spec.yaml @@ -52,9 +52,12 @@ - storage.modifier.specifier.thread_local - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bar ' +- source: bar + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/feature_trailing_return_types.spec.yaml b/language_examples/feature_trailing_return_types.spec.yaml index 932b4426..406b24fe 100644 --- a/language_examples/feature_trailing_return_types.spec.yaml +++ b/language_examples/feature_trailing_return_types.spec.yaml @@ -218,6 +218,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -241,6 +243,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -628,9 +632,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' itemIndex ' +- source: itemIndex + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -640,9 +647,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' itemRelativeRank ' +- source: itemRelativeRank + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -652,9 +662,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' totalNumberOfItems ' +- source: totalNumberOfItems + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -664,9 +677,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' nextItemIndex ' +- source: nextItemIndex + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -682,9 +698,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' numberOfRemainingItems ' +- source: numberOfRemainingItems + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -698,9 +717,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' probabilityOfBeingBetterThanCurrentItem ' +- source: probabilityOfBeingBetterThanCurrentItem + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -724,9 +746,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' numberOfSeenItemsThatAreBetterThanCurrentItem ' +- source: numberOfSeenItemsThatAreBetterThanCurrentItem + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -742,9 +767,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' expectedAverageRank ' +- source: expectedAverageRank + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -810,9 +838,12 @@ - meta.block - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' expectedValue ' +- source: expectedValue + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -907,9 +938,12 @@ - comment.line.double-slash - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' itemIndex ' +- source: itemIndex + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -919,9 +953,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' itemRelativeRank ' +- source: itemRelativeRank + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -931,9 +968,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' totalNumberOfItems ' +- source: totalNumberOfItems + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -943,9 +983,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' nextItemIndex ' +- source: nextItemIndex + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -961,9 +1004,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' output ' +- source: output + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -1500,9 +1546,12 @@ - source: ' _To_ MAX_N_SIZE _Times' - source: short scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' row ' +- source: row + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -1523,9 +1572,12 @@ - source: ' _To_ MAX_N_SIZE _Times' - source: short scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' cell ' +- source: cell + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/macro_issue.spec.yaml b/language_examples/macro_issue.spec.yaml index c74327fb..c953eb2f 100644 --- a/language_examples/macro_issue.spec.yaml +++ b/language_examples/macro_issue.spec.yaml @@ -175,6 +175,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -200,6 +202,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/misc_000.spec.yaml b/language_examples/misc_000.spec.yaml index 423a94e5..6437c596 100644 --- a/language_examples/misc_000.spec.yaml +++ b/language_examples/misc_000.spec.yaml @@ -4867,9 +4867,12 @@ - storage.modifier.specifier.static - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' used ' +- source: used + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4882,15 +4885,29 @@ - source: static scopes: - storage.modifier.specifier.static -- source: ' storage' +- source: storage + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: Callable + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' a_storage_of_callable' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: a_storage_of_callable + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -7645,9 +7662,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -8742,9 +8762,12 @@ - meta.block - source: char32_t scopes: + - meta.qualified_type - support.type.posix-reserved - support.type.built-in.posix-reserved -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -8763,6 +8786,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -8790,6 +8815,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8830,9 +8857,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -8968,9 +8998,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9300,9 +9333,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' encode_one ' +- source: encode_one + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/misc_005.spec.yaml b/language_examples/misc_005.spec.yaml index 34e6ba75..a20744ea 100644 --- a/language_examples/misc_005.spec.yaml +++ b/language_examples/misc_005.spec.yaml @@ -2978,9 +2978,12 @@ - storage.modifier.specifier.static - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' used ' +- source: used + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -2993,15 +2996,29 @@ - source: static scopes: - storage.modifier.specifier.static -- source: ' storage' +- source: storage + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: Callable + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' a_storage_of_callable' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: a_storage_of_callable + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -3630,6 +3647,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -3669,6 +3688,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3862,15 +3883,24 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' ANYTYPE element_holder' +- source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type +- source: element_holder + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -4130,17 +4160,30 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' vec3 ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: vec3 + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4207,11 +4250,21 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' ANYTYPE each ' +- source: ANYTYPE + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - entity.name.type +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' vec2 ' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -4355,17 +4408,30 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' vec2 ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: vec2 + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4511,17 +4577,30 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' vec2 ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: vec2 + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4870,23 +4949,43 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' pair' +- source: pair + scopesBegin: + - meta.parens.control.for + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma -- source: ' ANYTYPE' + - punctuation.separator.delimiter.comma.template.argument +- source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' each ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' input_map ' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5050,17 +5149,32 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_colon' +- source: should_always_be_a_colon + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' ANYTYPE first_value' +- source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type +- source: first_value + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' ANYSECONDTYPE second_value' +- source: ANYSECONDTYPE + scopes: + - meta.qualified_type + - entity.name.type +- source: second_value + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -5252,27 +5366,47 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' pair' +- source: pair + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' pair_holder' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: pair_holder + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -5548,9 +5682,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream a_stream' +- source: stringstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: a_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -5564,13 +5704,22 @@ - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a_char' +- source: a_char + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' string output_string ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output_string + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -5747,9 +5896,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output ' +- source: string scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -5822,9 +5977,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output ' +- source: string scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -5920,9 +6081,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' local_debug ' +- source: local_debug + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -5969,13 +6133,22 @@ - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' char_holder' +- source: char_holder + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' string unindented_stuff ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: unindented_stuff + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -6479,7 +6652,13 @@ - source: ' put the whole line into a string' scopesEnd: - comment.line.double-slash -- source: ' string next_line ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: next_line + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -6937,11 +7116,14 @@ - source: struct scopesBegin: - meta.body.function.definition + - meta.qualified_type scopes: - - storage.type.struct.declare + - storage.type.struct - source: timeval scopes: - - entity.name.type.struct + - entity.name.type + scopesEnd: + - meta.qualified_type - source: a_time scopes: - variable.other.object.declare @@ -7066,9 +7248,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' seconds ' +- source: seconds + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -7098,9 +7283,12 @@ - punctuation.terminator.statement - source: long scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' micro_seconds ' +- source: micro_seconds + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -7481,9 +7669,12 @@ - comment.line.double-slash - source: time_t scopes: + - meta.qualified_type - storage.type - storage.type.built-in -- source: ' now ' +- source: now + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -7503,11 +7694,15 @@ scopes: - punctuation.terminator.statement - source: struct + scopesBegin: + - meta.qualified_type scopes: - - storage.type.struct.declare + - storage.type.struct - source: tm scopes: - - entity.name.type.struct + - entity.name.type + scopesEnd: + - meta.qualified_type - source: tstruct scopes: - variable.other.object.declare @@ -7779,7 +7974,13 @@ - source: ' #include ' scopesEnd: - comment.line.double-slash -- source: ' streamsize num_of_chars_discarded ' +- source: streamsize + scopes: + - meta.qualified_type + - entity.name.type +- source: num_of_chars_discarded + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -8188,9 +8389,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string input_data' +- source: string scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: input_data + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -8348,9 +8555,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string input_string' +- source: string scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: input_string + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -8639,6 +8852,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -8664,6 +8879,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8850,6 +9067,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -8875,6 +9094,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9048,17 +9269,26 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream output' +- source: stringstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each_char' +- source: each_char + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -9099,7 +9329,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string output_str ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output_str + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9168,9 +9404,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output' +- source: string scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -9884,9 +10126,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' char_' +- source: char_ + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -9930,6 +10175,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -9955,6 +10202,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10151,13 +10400,22 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' char_' +- source: char_ + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' string output' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -10286,13 +10544,22 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' char_' +- source: char_ + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' string output' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -10435,12 +10702,15 @@ - storage.modifier.specifier.const - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' conv_my_str ' + - storage.modifier.pointer +- source: conv_my_str + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -10798,9 +11068,15 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' string result' +- source: string scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - entity.name.type +- source: result + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -10813,6 +11089,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -10838,6 +11116,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10927,9 +11207,15 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' string result' +- source: string scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - entity.name.type +- source: result + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -10942,6 +11228,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -10967,6 +11255,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11281,9 +11571,12 @@ - punctuation.section.block.begin.bracket.curly - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' swap ' +- source: swap + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -11489,9 +11782,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string result' +- source: string scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: result + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -11504,6 +11803,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -11549,6 +11850,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11784,9 +12087,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -11796,7 +12102,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string current' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: current + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -12600,9 +12912,12 @@ - meta.block - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' num_front ' +- source: num_front + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -12663,9 +12978,12 @@ - meta.block - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' num_end ' +- source: num_end + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -12815,9 +13133,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output ' +- source: string scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -12843,14 +13167,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' input' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13010,9 +13341,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output ' +- source: string scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13031,9 +13368,12 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_of_char_to_ignore ' +- source: number_of_char_to_ignore + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13052,14 +13392,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' input' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13263,17 +13610,30 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: string + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' chunks' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: chunks + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -13328,9 +13688,12 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' char_index ' +- source: char_index + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13345,9 +13708,12 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' chunk_index ' +- source: chunk_index + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13359,9 +13725,12 @@ - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' prev_char_was_splitter ' +- source: prev_char_was_splitter + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13413,9 +13782,12 @@ - punctuation.section.block.begin.bracket.curly - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' current_character ' +- source: current_character + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13699,7 +14071,13 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: stream1 + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -13711,7 +14089,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: target + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13741,7 +14125,13 @@ - source: ' convert base to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream2' +- source: ostringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: stream2 + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -13753,7 +14143,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string base ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: base + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13777,9 +14173,12 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14013,7 +14412,13 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: stream1 + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -14025,7 +14430,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: target + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14055,7 +14466,13 @@ - source: ' convert base to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream2' +- source: ostringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: stream2 + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -14067,7 +14484,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string base ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: base + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14091,9 +14514,12 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14326,7 +14752,13 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: stream1 + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -14338,7 +14770,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: target + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14360,26 +14798,40 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' vector' +- source: vector + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: int scopes: - storage.type.primitive - storage.type.built-in.primitive - source: '>' scopes: - - keyword.operator.comparison -- source: ' indices' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: indices + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14611,7 +15063,13 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: stream1 + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -14623,7 +15081,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: target + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14762,7 +15226,13 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: stream1 + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -14774,7 +15244,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: target + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14985,7 +15461,13 @@ - source: ' convert target to string' scopesEnd: - comment.line.double-slash -- source: ' ostringstream stream1' +- source: ostringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: stream1 + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -14997,7 +15479,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string target ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: target + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -15211,9 +15699,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string input_as_string ' +- source: string scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: input_as_string + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -15319,7 +15813,13 @@ - source: ' allows a period only for file extentions' scopesEnd: - comment.line.double-slash -- source: ' regex is_not_obnoxious ' +- source: regex + scopes: + - meta.qualified_type + - entity.name.type +- source: is_not_obnoxious + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -15415,13 +15915,22 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each_char' +- source: each_char + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream char_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: char_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -15433,15 +15942,24 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string output' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' space_counter ' +- source: space_counter + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -15453,9 +15971,12 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' newline_counter ' +- source: newline_counter + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -16226,9 +16747,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream output' +- source: stringstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -16240,7 +16767,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string output_str ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output_str + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -16357,6 +16890,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -16382,6 +16917,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16606,14 +17143,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' input_string' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16878,25 +17422,41 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: string + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' arguments' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: arguments + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -16906,15 +17466,29 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' vector' +- source: vector + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: string + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' char_context_stack ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: char_context_stack + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -16941,7 +17515,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string previous_char_as_string ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: previous_char_as_string + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -16967,14 +17547,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' content' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16992,7 +17579,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string context ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -17239,9 +17832,12 @@ - comment.line.double-slash - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' is_first_arg ' +- source: is_first_arg + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -17282,9 +17878,12 @@ - comment.line.double-slash - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' is_new_arg ' +- source: is_new_arg + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -17584,14 +18183,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each_pair ' +- source: each_pair + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' encapsulating_pairs' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18382,20 +18988,30 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: int scopes: - storage.type.primitive - storage.type.built-in.primitive - source: '>' scopes: - - keyword.operator.comparison -- source: ' result' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: result + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -18433,6 +19049,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -18457,6 +19075,8 @@ scopes: - keyword.operator.assignment.compound - source: ' increment' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18513,6 +19133,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -18537,6 +19159,8 @@ scopes: - keyword.operator.assignment.compound - source: ' increment' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19350,7 +19974,13 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -19887,7 +20517,13 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string char_content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: char_content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -20434,7 +21070,13 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -20510,7 +21152,13 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' stringstream content_as_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: content_as_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -20524,9 +21172,12 @@ - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -20740,7 +21391,13 @@ - source: ' make sure and get all the decimals ' scopesEnd: - comment.line.double-slash -- source: ' stringstream output' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -20974,7 +21631,13 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -21050,7 +21713,13 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' stringstream content_as_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: content_as_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -21064,9 +21733,12 @@ - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -21284,7 +21956,13 @@ - source: ' make sure and get all the decimals ' scopesEnd: - comment.line.double-slash -- source: ' stringstream output' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -21522,7 +22200,13 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -21598,7 +22282,13 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' stringstream content_as_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: content_as_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -21612,9 +22302,12 @@ - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -22011,7 +22704,13 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -22750,7 +23449,13 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -22913,7 +23618,13 @@ - source: ' store data' scopesEnd: - comment.line.double-slash -- source: ' stringstream transfer_method' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: transfer_method + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -23109,9 +23820,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream data_stream' +- source: stringstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: data_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -23177,7 +23894,13 @@ - source: ' get the content' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -23323,9 +24046,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream data_stream' +- source: stringstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: data_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -23354,7 +24083,13 @@ - source: ' get the name of the datatype' scopesEnd: - comment.line.double-slash -- source: ' string name ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: name + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -23530,9 +24265,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream out' +- source: stringstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: out + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -23614,9 +24355,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' string output' +- source: string scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -23993,9 +24740,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream output' +- source: stringstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -24300,7 +25053,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string Answer ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: Answer + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -24431,7 +25190,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string answer_ ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: answer_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -24690,7 +25455,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string answer_ ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: answer_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -24909,9 +25680,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' integer_ ' +- source: integer_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -24928,7 +25702,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string internal_question ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: internal_question + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -25184,9 +25964,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -25203,7 +25986,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string internal_question ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: internal_question + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -25466,7 +26255,13 @@ - source: ' FIXME use regex here instead' scopesEnd: - comment.line.double-slash -- source: ' string answer_ ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: answer_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -25841,7 +26636,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string file_name ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: file_name + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -25992,7 +26793,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string name_ ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: name_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -26821,10 +27628,16 @@ - source: ' void* and call the function object.' scopesEnd: - comment.line.double-slash -- source: ' function' +- source: function + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: void scopes: - storage.type.primitive @@ -26832,23 +27645,19 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ( - scopesBegin: - - meta.parens - scopes: - - punctuation.section.parens.begin.bracket.round -- source: ) - scopes: - - punctuation.section.parens.end.bracket.round - scopesEnd: - - meta.parens +- source: () - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call - source: '&' scopes: - - keyword.operator.bitwise -- source: ' func ' + - storage.modifier.reference +- source: func + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -30617,9 +31426,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' local_debug ' +- source: local_debug + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -30679,7 +31491,13 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' stringstream all_members' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: all_members + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -30691,11 +31509,21 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' ANYTYPE each ' +- source: ANYTYPE + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - entity.name.type +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' input_vector ' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -30893,7 +31721,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string all_members_str ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: all_members_str + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -31050,9 +31884,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' local_debug ' +- source: local_debug + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -31175,7 +32012,13 @@ - source: ' unindent everything' scopesEnd: - comment.line.double-slash -- source: ' string vector_content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: vector_content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -31378,11 +32221,23 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' ANYTYPE data_member' +- source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type +- source: data_member + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream vector_content_as_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: vector_content_as_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -31396,9 +32251,12 @@ - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -31711,9 +32569,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream output' +- source: stringstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -31725,11 +32589,21 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' ANYTYPE each ' +- source: ANYTYPE + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - entity.name.type +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' input ' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32039,14 +32913,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' input_vector' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32226,6 +33107,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -32251,6 +33134,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32477,6 +33362,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -32502,6 +33389,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32702,9 +33591,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' element_number ' +- source: element_number + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -32852,9 +33744,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_of_matches' +- source: number_of_matches + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -32898,6 +33793,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -32923,6 +33820,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33109,17 +34008,30 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' search_vector' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: search_vector + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -33163,6 +34075,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -33188,6 +34102,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33418,9 +34334,12 @@ - comment.line.double-slash - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' largest_string ' +- source: largest_string + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -33439,14 +34358,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' input' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33518,10 +34444,16 @@ - source: ' create a vector of c-strings' scopesEnd: - comment.line.double-slash -- source: ' vector' +- source: vector + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: char scopes: - storage.type.primitive @@ -33531,8 +34463,13 @@ - keyword.operator.arithmetic - source: '>' scopes: - - keyword.operator.comparison -- source: ' vector_of_c_strings' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: vector_of_c_strings + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -33545,14 +34482,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' input' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33565,12 +34509,15 @@ - punctuation.section.block.begin.bracket.curly - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' new_string ' + - storage.modifier.pointer +- source: new_string + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -33704,15 +34651,18 @@ - comment.line.double-slash - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopesBegin: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: '*' scopesEnd: - - keyword.operator.arithmetic -- source: ' output ' + - storage.modifier.pointer +- source: output + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -33919,17 +34869,30 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: T + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' result' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: result + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -34164,9 +35127,12 @@ - punctuation.section.block.begin.bracket.curly - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' swap ' +- source: swap + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -34204,6 +35170,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -34227,6 +35195,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -34536,17 +35506,30 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: T + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' result' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: result + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -34724,6 +35707,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -34749,6 +35734,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -34795,6 +35782,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -34834,6 +35823,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -34880,6 +35871,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -34921,6 +35914,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -35073,17 +36068,30 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: T + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' empty' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: empty + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -35355,9 +36363,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -35553,9 +36564,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -35755,28 +36769,41 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' vector' +- source: vector scopesBegin: - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: int scopes: - storage.type.primitive - storage.type.built-in.primitive - source: '>' scopes: - - keyword.operator.comparison -- source: ' indices' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: indices + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index ' +- source: index + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -36146,9 +37173,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' local_debug ' +- source: local_debug + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -36200,7 +37230,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream all_members' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: all_members + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -36385,7 +37421,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string all_members_str ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: all_members_str + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -36643,7 +37685,13 @@ - source: ' unindent members' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -36808,13 +37856,22 @@ - comment.line.double-slash - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream transfer_method' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: transfer_method + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -36883,11 +37940,23 @@ - source: ' create empty versions of all data members ' scopesEnd: - comment.line.double-slash -- source: ' ANYTYPE datamember1' +- source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type +- source: datamember1 + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' ANYSECONDTYPE datamember2' +- source: ANYSECONDTYPE + scopes: + - meta.qualified_type + - entity.name.type +- source: datamember2 + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -37226,7 +38295,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream data_members' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: data_members + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -37246,23 +38321,43 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' pair' +- source: pair + scopesBegin: + - meta.parens.control.for + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' each ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' input_ ' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -37573,7 +38668,13 @@ - source: ' unindent members' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -37738,13 +38839,22 @@ - comment.line.double-slash - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream transfer_method' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: transfer_method + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -37858,35 +38968,69 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' pair' +- source: pair + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' data_member' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: data_member + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' map' +- source: map + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' data_member_holder' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: data_member_holder + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -38396,6 +39540,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -38405,11 +39551,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' each ' -- source: ':' - scopes: - - punctuation.separator.colon.range-based -- source: ' input_map ' +- source: ' each : input_map ' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -38595,6 +39739,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -38604,11 +39750,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' each ' -- source: ':' - scopes: - - punctuation.separator.colon.range-based -- source: ' input_map ' +- source: ' each : input_map ' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -38675,7 +39819,13 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' ANYSECONDTYPE null_' +- source: ANYSECONDTYPE + scopes: + - meta.qualified_type + - entity.name.type +- source: null_ + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -39299,28 +40449,40 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream output' +- source: stringstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' status' +- source: status + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' demangled ' + - storage.modifier.pointer +- source: demangled + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -40046,6 +41208,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -40071,6 +41235,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -40286,17 +41452,30 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' List' +- source: List scopesBegin: - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ITEM + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' output_list' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: output_list + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -40346,6 +41525,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -40371,6 +41552,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -40775,7 +41958,13 @@ - source: ' if its not a string then it can''t be a name ' scopesEnd: - comment.line.double-slash -- source: ' ITEM input_as_item ' +- source: ITEM + scopes: + - meta.qualified_type + - entity.name.type +- source: input_as_item + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -41437,9 +42626,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' largest_size ' +- source: largest_size + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -41458,6 +42650,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -41467,11 +42661,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' each ' -- source: ':' - scopes: - - punctuation.separator.colon.range-based -- source: ' names ' +- source: ' each : names ' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -41659,13 +42851,17 @@ - punctuation.terminator.statement - source: short scopesBegin: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' first_few ' +- source: first_few + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -41727,7 +42923,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string output_string ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output_string + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -41770,6 +42972,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -41795,6 +42999,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -41939,9 +43145,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' is_in_bounds ' +- source: is_in_bounds + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -41988,9 +43197,12 @@ - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' is_negative ' +- source: is_negative + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -42304,9 +43516,12 @@ - punctuation.section.block.begin.bracket.curly - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' missing_items ' +- source: missing_items + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -42358,6 +43573,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -42383,6 +43600,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -42623,7 +43842,13 @@ - source: ' unindent members' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -42788,13 +44013,22 @@ - comment.line.double-slash - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream transfer_method' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: transfer_method + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -43174,13 +44408,17 @@ - comment.line.double-slash - source: long scopesBegin: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' index_ ' +- source: index_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -43535,6 +44773,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -43560,6 +44800,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -43917,7 +45159,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream data_members' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: data_members + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -44443,7 +45691,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' stringstream named_values_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: named_values_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -44499,6 +45753,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -44524,6 +45780,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -44945,7 +46203,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' stringstream output_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: output_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -45001,6 +46265,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -45026,6 +46292,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -45815,7 +47083,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' stringstream input_method' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: input_method + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -45932,7 +47206,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' stringstream data_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: data_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -46051,7 +47331,13 @@ - source: ' get the content' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -46542,7 +47828,13 @@ - source: ' unindent members' scopesEnd: - comment.line.double-slash -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -46707,13 +47999,22 @@ - comment.line.double-slash - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream transfer_method' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: transfer_method + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -47393,9 +48694,15 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' stringstream input_method' +- source: stringstream scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - entity.name.type +- source: input_method + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -47532,9 +48839,15 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' stringstream input_method' +- source: stringstream scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - entity.name.type +- source: input_method + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -47689,9 +49002,15 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' stringstream data_stream' +- source: stringstream scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - entity.name.type +- source: data_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -48061,7 +49380,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream data_members' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: data_members + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -48343,9 +49668,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' stringstream out' +- source: stringstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: out + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -48395,7 +49726,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stringstream data_members' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: data_members + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -48731,7 +50068,13 @@ - source: ' create a blank list ' scopesEnd: - comment.line.double-slash -- source: ' List blank_list' +- source: List + scopes: + - meta.qualified_type + - entity.name.type +- source: blank_list + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -48743,7 +50086,13 @@ - source: ' put the data into a stream' scopesEnd: - comment.line.double-slash -- source: ' stringstream data_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: data_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -48766,9 +50115,12 @@ - punctuation.terminator.statement - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -49009,9 +50361,15 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' string result' +- source: string scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - entity.name.type +- source: result + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -49024,6 +50382,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -49049,6 +50409,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -52633,9 +53995,12 @@ - punctuation.section.block.begin.bracket.curly - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -52758,7 +54123,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output_string + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -52788,6 +54159,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -52813,6 +54186,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -53023,9 +54398,12 @@ - punctuation.section.block.begin.bracket.curly - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -53149,7 +54527,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output_string + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -53179,6 +54563,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -53204,6 +54590,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -53526,9 +54914,12 @@ - punctuation.section.block.begin.bracket.curly - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -53652,7 +55043,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output_string + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -53682,6 +55079,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -53707,6 +55106,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -54125,9 +55526,12 @@ - punctuation.section.block.begin.bracket.curly - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -54251,7 +55655,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output_string + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -54281,6 +55691,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -54306,6 +55718,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -54628,9 +56042,12 @@ - punctuation.section.block.begin.bracket.curly - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -54754,7 +56171,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output_string + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -54784,6 +56207,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -54809,6 +56234,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -55208,9 +56635,12 @@ - punctuation.section.block.begin.bracket.curly - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -55333,7 +56763,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' string output_string' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: output_string + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -55363,6 +56799,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -55388,6 +56826,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -61351,9 +62791,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' Item holder ' +- source: Item scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: holder + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -62136,9 +63582,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' charaters_till_newline ' +- source: charaters_till_newline + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -62188,6 +63637,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -62213,6 +63664,8 @@ - source: ++ scopes: - keyword.operator.increment + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -62481,14 +63934,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' content' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -62663,14 +64123,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each ' +- source: each + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' content' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -63015,7 +64482,13 @@ - source: ' put the value into the string stream ' scopesEnd: - comment.line.double-slash -- source: ' stringstream converter_to_string' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: converter_to_string + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -63035,7 +64508,13 @@ - source: ' get the output as a string' scopesEnd: - comment.line.double-slash -- source: ' string content_being_output ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content_being_output + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -63090,14 +64569,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' each_char ' +- source: each_char + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' content_being_output' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -63310,7 +64796,13 @@ - source: ' add the line to __PutLinesOutputFixerStream' scopesEnd: - comment.line.double-slash -- source: ' stringstream out_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: out_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -63507,7 +64999,13 @@ - source: ' add the line to __LogOutputFixerStream' scopesEnd: - comment.line.double-slash -- source: ' stringstream out_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: out_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -63755,7 +65253,13 @@ - source: ' then just keep going like normal' scopesEnd: - comment.line.double-slash -- source: ' stringstream out_stream' +- source: stringstream + scopes: + - meta.qualified_type + - entity.name.type +- source: out_stream + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/misc_006.spec.yaml b/language_examples/misc_006.spec.yaml index 423a94e5..6437c596 100644 --- a/language_examples/misc_006.spec.yaml +++ b/language_examples/misc_006.spec.yaml @@ -4867,9 +4867,12 @@ - storage.modifier.specifier.static - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' used ' +- source: used + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4882,15 +4885,29 @@ - source: static scopes: - storage.modifier.specifier.static -- source: ' storage' +- source: storage + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: Callable + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' a_storage_of_callable' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: a_storage_of_callable + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -7645,9 +7662,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -8742,9 +8762,12 @@ - meta.block - source: char32_t scopes: + - meta.qualified_type - support.type.posix-reserved - support.type.built-in.posix-reserved -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -8763,6 +8786,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -8790,6 +8815,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8830,9 +8857,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -8968,9 +8998,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9300,9 +9333,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' encode_one ' +- source: encode_one + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/misc_asteria.spec.yaml b/language_examples/misc_asteria.spec.yaml index 9f1e9cc4..876a0430 100644 --- a/language_examples/misc_asteria.spec.yaml +++ b/language_examples/misc_asteria.spec.yaml @@ -734,9 +734,11 @@ - punctuation.section.parens.begin.bracket.round - source: ; scopesBegin: + - meta.parens.control.for - punctuation.terminator.statement - source: ; scopesEnd: + - meta.parens.control.for - punctuation.terminator.statement - source: ) scopes: @@ -750,9 +752,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' ich ' +- source: ich + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -2563,9 +2568,12 @@ - comment.line.double-slash - source: char32_t scopes: + - meta.qualified_type - support.type.posix-reserved - support.type.built-in.posix-reserved -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -2782,9 +2790,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' u8len ' +- source: u8len + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -3013,9 +3024,12 @@ scopesEnd: - comment.line.double-slash - source: ' cpnt ' -- source: '&=' +- source: '&' scopes: - - keyword.operator.assignment.compound.bitwise + - keyword.operator.bitwise +- source: '=' + scopes: + - keyword.operator.assignment - source: UINT32_C scopes: - entity.name.function.call @@ -3055,6 +3069,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: std + scopesBegin: + - meta.parens.control.for scopes: - entity.name.scope-resolution - source: '::' @@ -3087,6 +3103,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3099,9 +3117,12 @@ - punctuation.section.block.begin.bracket.curly - source: char32_t scopes: + - meta.qualified_type - support.type.posix-reserved - support.type.built-in.posix-reserved -- source: ' next ' +- source: next + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -3444,9 +3465,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' mlen ' +- source: mlen + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4562,9 +4586,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bptr ' +- source: bptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4699,9 +4726,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' eptr ' +- source: eptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4729,9 +4759,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tptr ' +- source: tptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -4861,9 +4894,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -6253,9 +6289,12 @@ - keyword.control.directive.endif - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' range ' +- source: range + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -6356,9 +6395,11 @@ - punctuation.section.parens.begin.bracket.round - source: ; scopesBegin: + - meta.parens.control.for - punctuation.terminator.statement - source: ; scopesEnd: + - meta.parens.control.for - punctuation.terminator.statement - source: ) scopes: @@ -6433,12 +6474,15 @@ - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' cur ' + - storage.modifier.reference +- source: cur + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -6631,13 +6675,22 @@ scopesEnd: - comment.line.double-slash - source: Token + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_keyword xtoken ' +- source: S_keyword + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: xtoken + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -6744,13 +6797,22 @@ scopesEnd: - meta.block - source: Token + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_identifier xtoken ' +- source: S_identifier + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: xtoken + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -6930,9 +6992,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bptr ' +- source: bptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9243,9 +9308,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' range ' +- source: range + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9346,9 +9414,11 @@ - punctuation.section.parens.begin.bracket.round - source: ; scopesBegin: + - meta.parens.control.for - punctuation.terminator.statement - source: ; scopesEnd: + - meta.parens.control.for - punctuation.terminator.statement - source: ) scopes: @@ -9415,12 +9485,15 @@ - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' cur ' + - storage.modifier.reference +- source: cur + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9454,9 +9527,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9642,13 +9718,22 @@ scopesEnd: - comment.line.double-slash - source: Token + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_punctuator xtoken ' +- source: S_punctuator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: xtoken + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9927,9 +10012,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bptr ' +- source: bptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -10012,6 +10100,8 @@ scopesEnd: - comment.line.double-slash - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -10022,7 +10112,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' tlen ' + scopesEnd: + - meta.qualified_type +- source: tlen + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -10032,7 +10126,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' Cow_String value' +- source: Cow_String + scopes: + - meta.qualified_type + - entity.name.type +- source: value + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -10073,9 +10173,11 @@ - punctuation.section.parens.begin.bracket.round - source: ; scopesBegin: + - meta.parens.control.for - punctuation.terminator.statement - source: ; scopesEnd: + - meta.parens.control.for - punctuation.terminator.statement - source: ) scopes: @@ -10089,9 +10191,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' qavail ' +- source: qavail + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -10194,9 +10299,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' next ' +- source: next + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -10452,9 +10560,12 @@ - punctuation.terminator.statement - source: unsigned scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -11523,9 +11634,12 @@ - meta.block - source: char32_t scopes: + - meta.qualified_type - support.type.posix-reserved - support.type.built-in.posix-reserved -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -11544,6 +11658,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -11571,6 +11687,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11611,9 +11729,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -11749,9 +11870,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -12081,9 +12205,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' encode_one ' +- source: encode_one + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -12686,9 +12813,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tptr ' +- source: tptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -12932,13 +13062,22 @@ scopesEnd: - meta.block - source: Token + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_string_literal xtoken ' +- source: S_string_literal + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: xtoken + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13153,9 +13292,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' qstok ' +- source: qstok + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13593,12 +13735,15 @@ - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' pt ' + - storage.modifier.reference +- source: pt + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13698,12 +13843,15 @@ - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' alt ' + - storage.modifier.reference +- source: alt + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13753,9 +13901,12 @@ - comment.line.double-slash - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' mergeable ' +- source: mergeable + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13929,12 +14080,15 @@ - storage.modifier.specifier.const - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' alt ' + - storage.modifier.reference +- source: alt + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -13984,9 +14138,12 @@ - comment.line.double-slash - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' mergeable ' +- source: mergeable + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14467,9 +14624,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bptr ' +- source: bptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14596,9 +14756,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' eptr ' +- source: eptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14650,9 +14813,12 @@ - comment.line.double-slash - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' radix ' +- source: radix + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14663,6 +14829,8 @@ scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -14673,7 +14841,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' int_begin ' + scopesEnd: + - meta.qualified_type +- source: int_begin + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14694,6 +14866,8 @@ scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -14704,7 +14878,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' frac_begin ' + scopesEnd: + - meta.qualified_type +- source: frac_begin + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14726,9 +14904,12 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' exp_base ' +- source: exp_base + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14740,9 +14921,12 @@ - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' exp_sign ' +- source: exp_sign + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14753,6 +14937,8 @@ scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -14763,7 +14949,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' exp_begin ' + scopesEnd: + - meta.qualified_type +- source: exp_begin + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -14839,9 +15029,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' next ' +- source: next + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -15032,9 +15225,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' max_digits ' +- source: max_digits + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -15089,9 +15285,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tptr ' +- source: tptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -15377,9 +15576,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' next ' +- source: next + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -16505,9 +16707,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -16619,9 +16824,12 @@ - comment.line.double-slash - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' exp ' +- source: exp + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -16640,6 +16848,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -16663,6 +16873,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16675,9 +16887,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -16782,9 +16997,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -16838,9 +17056,12 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bound ' +- source: bound + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -17115,6 +17336,8 @@ scopesEnd: - comment.line.double-slash - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -17125,7 +17348,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' value ' + scopesEnd: + - meta.qualified_type +- source: value + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -17144,6 +17371,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -17167,6 +17396,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17179,9 +17410,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -17284,9 +17518,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -17346,6 +17583,8 @@ scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -17356,7 +17595,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' bound ' + scopesEnd: + - meta.qualified_type +- source: bound + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -17579,6 +17822,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -17604,6 +17849,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17615,6 +17862,8 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -17625,7 +17874,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' bound ' + scopesEnd: + - meta.qualified_type +- source: bound + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -17799,9 +18052,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' qstok ' +- source: qstok + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -17823,6 +18079,8 @@ scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -17833,7 +18091,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' smask ' + scopesEnd: + - meta.qualified_type +- source: smask + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -18180,13 +18442,22 @@ scopesEnd: - comment.line.double-slash - source: Token + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_integer_literal xtoken ' +- source: S_integer_literal + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: xtoken + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -18322,9 +18593,12 @@ - comment.line.double-slash - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' value ' +- source: value + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -18336,9 +18610,12 @@ - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' zero ' +- source: zero + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -18357,6 +18634,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -18380,6 +18659,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18392,9 +18673,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -18497,9 +18781,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -18568,9 +18855,12 @@ scopes: - punctuation.terminator.statement - source: ' zero ' -- source: '|=' +- source: '|' + scopes: + - keyword.operator.bitwise +- source: '=' scopes: - - keyword.operator.assignment.compound.bitwise + - keyword.operator.assignment - source: ' dvalue' - source: ; scopes: @@ -18590,9 +18880,12 @@ - comment.line.double-slash - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' frac ' +- source: frac + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -18611,6 +18904,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -18646,6 +18941,8 @@ scopes: - keyword.operator.decrement - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18658,9 +18955,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dptr ' +- source: dptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -18763,9 +19063,12 @@ - meta.block - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dvalue ' +- source: dvalue + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -18844,9 +19147,12 @@ scopes: - punctuation.terminator.statement - source: ' zero ' -- source: '|=' +- source: '|' scopes: - - keyword.operator.assignment.compound.bitwise + - keyword.operator.bitwise +- source: '=' + scopes: + - keyword.operator.assignment - source: ' dvalue' - source: ; scopes: @@ -19073,9 +19379,12 @@ - comment.line.double-slash - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' fpc ' +- source: fpc + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -19244,9 +19553,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' qstok ' +- source: qstok + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -19269,9 +19581,12 @@ - punctuation.terminator.statement - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' fmask ' +- source: fmask + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -19499,13 +19814,22 @@ scopesEnd: - comment.line.double-slash - source: Token + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'S_real_literal xtoken ' +- source: S_real_literal + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: xtoken + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -19737,15 +20061,29 @@ - source: ' We will have to reverse this sequence before storing it into `*this` if it is accepted.' scopesEnd: - comment.line.double-slash -- source: ' Cow_Vector' +- source: Cow_Vector + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: Token + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' seq' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: seq + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -19757,7 +20095,13 @@ - source: ' Save the position of an unterminated block comment.' scopesEnd: - comment.line.double-slash -- source: ' Tack bcomm' +- source: Tack + scopes: + - meta.qualified_type + - entity.name.type +- source: bcomm + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -20273,9 +20617,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' bptr ' +- source: bptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -20299,9 +20646,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' eptr ' +- source: eptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -20329,9 +20679,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' tptr ' +- source: tptr + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -20559,9 +20912,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' head ' +- source: head + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -20750,9 +21106,12 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' next ' +- source: next + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -20967,9 +21326,12 @@ - meta.block - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' token_got ' +- source: token_got + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -22631,12 +22993,15 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' alt ' + - storage.modifier.reference +- source: alt + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -23013,12 +23378,15 @@ - punctuation.section.block.begin.bracket.curly - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - - keyword.operator.bitwise -- source: ' alt ' + - storage.modifier.reference +- source: alt + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/misc_test.spec.yaml b/language_examples/misc_test.spec.yaml index 8296b784..9cdf10d6 100644 --- a/language_examples/misc_test.spec.yaml +++ b/language_examples/misc_test.spec.yaml @@ -269,9 +269,15 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' Rectangle rect' +- source: Rectangle scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: rect + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/operator_overload_implicit_const.spec.yaml b/language_examples/operator_overload_implicit_const.spec.yaml index 5793ec6c..84f1c134 100644 --- a/language_examples/operator_overload_implicit_const.spec.yaml +++ b/language_examples/operator_overload_implicit_const.spec.yaml @@ -1189,9 +1189,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' it ' +- source: it + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -1506,6 +1509,7 @@ - source: std scopesBegin: - meta.body.function.definition + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1513,14 +1517,26 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: vector + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: SymbolStr + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' result' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: result + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -1566,14 +1582,21 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: auto + scopesBegin: + - meta.parens.control.for scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' sym ' +- source: sym + scopes: + - variable.other.object.declare.for - source: ':' scopes: - punctuation.separator.colon.range-based - source: ' symbols' + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/pr_435.spec.yaml b/language_examples/pr_435.spec.yaml index f43b6432..7bd0ec43 100644 --- a/language_examples/pr_435.spec.yaml +++ b/language_examples/pr_435.spec.yaml @@ -78,9 +78,11 @@ - punctuation.section.parens.begin.bracket.round - source: ; scopesBegin: + - meta.parens.control.for - punctuation.terminator.statement - source: ; scopesEnd: + - meta.parens.control.for - punctuation.terminator.statement - source: ) scopes: @@ -94,9 +96,12 @@ - punctuation.section.block.begin.bracket.curly - source: size_t scopes: + - meta.qualified_type - storage.type - storage.type.built-in -- source: ' n ' +- source: 'n' + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/ranged_for.cpp b/language_examples/ranged_for.cpp new file mode 100644 index 00000000..13dc02f0 --- /dev/null +++ b/language_examples/ranged_for.cpp @@ -0,0 +1,3994 @@ +#include "archive.hh" +#include "derivations.hh" +#include "eval-inline.hh" +#include "eval.hh" +#include "globals.hh" +#include "json-to-value.hh" +#include "names.hh" +#include "store-api.hh" +#include "util.hh" +#include "json.hh" +#include "value-to-json.hh" +#include "value-to-xml.hh" +#include "primops.hh" + +#include + +#include +#include +#include + +#include +#include +#include +#include + +#include + + +namespace nix { + + +/************************************************************* + * Miscellaneous + *************************************************************/ + + +InvalidPathError::InvalidPathError(const Path & path) : + EvalError("path '%s' is not valid", path), path(path) {} + +StringMap EvalState::realiseContext(const PathSet & context) +{ + std::vector drvs; + StringMap res; + + for (auto & i : context) { + auto [ctx, outputName] = decodeContext(*store, i); + auto ctxS = store->printStorePath(ctx); + if (!store->isValidPath(ctx)) + debugThrowLastTrace(InvalidPathError(store->printStorePath(ctx))); + if (!outputName.empty() && ctx.isDerivation()) { + drvs.push_back({ctx, {outputName}}); + } else { + res.insert_or_assign(ctxS, ctxS); + } + } + + if (drvs.empty()) return {}; + + if (!evalSettings.enableImportFromDerivation) + debugThrowLastTrace(Error( + "cannot build '%1%' during evaluation because the option 'allow-import-from-derivation' is disabled", + store->printStorePath(drvs.begin()->drvPath))); + + /* Build/substitute the context. */ + std::vector buildReqs; + for (auto & d : drvs) buildReqs.emplace_back(DerivedPath { d }); + store->buildPaths(buildReqs); + + /* Get all the output paths corresponding to the placeholders we had */ + for (auto & [drvPath, outputs] : drvs) { + const auto outputPaths = store->queryDerivationOutputMap(drvPath); + for (auto & outputName : outputs) { + auto outputPath = get(outputPaths, outputName); + if (!outputPath) + debugThrowLastTrace(Error("derivation '%s' does not have an output named '%s'", + store->printStorePath(drvPath), outputName)); + res.insert_or_assign( + downstreamPlaceholder(*store, drvPath, outputName), + store->printStorePath(*outputPath) + ); + } + } + + /* Add the output of this derivations to the allowed + paths. */ + if (allowedPaths) { + for (auto & [_placeholder, outputPath] : res) { + allowPath(store->toRealPath(outputPath)); + } + } + + return res; +} + +struct RealisePathFlags { + // Whether to check that the path is allowed in pure eval mode + bool checkForPureEval = true; +}; + +static Path realisePath(EvalState & state, const PosIdx pos, Value & v, const RealisePathFlags flags = {}) +{ + PathSet context; + + auto path = [&]() + { + try { + return state.coerceToPath(pos, v, context); + } catch (Error & e) { + e.addTrace(state.positions[pos], "while realising the context of a path"); + throw; + } + }(); + + try { + StringMap rewrites = state.realiseContext(context); + + auto realPath = state.toRealPath(rewriteStrings(path, rewrites), context); + + return flags.checkForPureEval + ? state.checkSourcePath(realPath) + : realPath; + } catch (Error & e) { + e.addTrace(state.positions[pos], "while realising the context of path '%s'", path); + throw; + } +} + +/* Add and attribute to the given attribute map from the output name to + the output path, or a placeholder. + + Where possible the path is used, but for floating CA derivations we + may not know it. For sake of determinism we always assume we don't + and instead put in a place holder. In either case, however, the + string context will contain the drv path and output name, so + downstream derivations will have the proper dependency, and in + addition, before building, the placeholder will be rewritten to be + the actual path. + + The 'drv' and 'drvPath' outputs must correspond. */ +static void mkOutputString( + EvalState & state, + BindingsBuilder & attrs, + const StorePath & drvPath, + const BasicDerivation & drv, + const std::pair & o) +{ + auto optOutputPath = o.second.path(*state.store, drv.name, o.first); + attrs.alloc(o.first).mkString( + optOutputPath + ? state.store->printStorePath(*optOutputPath) + /* Downstream we would substitute this for an actual path once + we build the floating CA derivation */ + /* FIXME: we need to depend on the basic derivation, not + derivation */ + : downstreamPlaceholder(*state.store, drvPath, o.first), + {"!" + o.first + "!" + state.store->printStorePath(drvPath)}); +} + +/* Load and evaluate an expression from path specified by the + argument. */ +static void import(EvalState & state, const PosIdx pos, Value & vPath, Value * vScope, Value & v) +{ + auto path = realisePath(state, pos, vPath); + + // FIXME + auto isValidDerivationInStore = [&]() -> std::optional { + if (!state.store->isStorePath(path)) + return std::nullopt; + auto storePath = state.store->parseStorePath(path); + if (!(state.store->isValidPath(storePath) && isDerivation(path))) + return std::nullopt; + return storePath; + }; + + if (auto optStorePath = isValidDerivationInStore()) { + auto storePath = *optStorePath; + Derivation drv = state.store->readDerivation(storePath); + auto attrs = state.buildBindings(3 + drv.outputs.size()); + attrs.alloc(state.sDrvPath).mkString(path, {"=" + path}); + attrs.alloc(state.sName).mkString(drv.env["name"]); + auto & outputsVal = attrs.alloc(state.sOutputs); + state.mkList(outputsVal, drv.outputs.size()); + + for (const auto & [i, o] : enumerate(drv.outputs)) { + mkOutputString(state, attrs, storePath, drv, o); + (outputsVal.listElems()[i] = state.allocValue())->mkString(o.first); + } + + auto w = state.allocValue(); + w->mkAttrs(attrs); + + if (!state.vImportedDrvToDerivation) { + state.vImportedDrvToDerivation = allocRootValue(state.allocValue()); + state.eval(state.parseExprFromString( + #include "imported-drv-to-derivation.nix.gen.hh" + , "/"), **state.vImportedDrvToDerivation); + } + + state.forceFunction(**state.vImportedDrvToDerivation, pos); + v.mkApp(*state.vImportedDrvToDerivation, w); + state.forceAttrs(v, pos); + } + + else if (path == corepkgsPrefix + "fetchurl.nix") { + state.eval(state.parseExprFromString( + #include "fetchurl.nix.gen.hh" + , "/"), v); + } + + else { + if (!vScope) + state.evalFile(path, v); + else { + state.forceAttrs(*vScope, pos); + + Env * env = &state.allocEnv(vScope->attrs->size()); + env->up = &state.baseEnv; + + auto staticEnv = std::make_shared(false, state.staticBaseEnv.get(), vScope->attrs->size()); + + unsigned int displ = 0; + for (auto & attr : *vScope->attrs) { + staticEnv->vars.emplace_back(attr.name, displ); + env->values[displ++] = attr.value; + } + + // No need to call staticEnv.sort(), because + // args[0]->attrs is already sorted. + + printTalkative("evaluating file '%1%'", path); + Expr * e = state.parseExprFromFile(resolveExprPath(path), staticEnv); + + e->eval(state, *env, v); + } + } +} + +static RegisterPrimOp primop_scopedImport(RegisterPrimOp::Info { + .name = "scopedImport", + .arity = 2, + .fun = [](EvalState & state, const PosIdx pos, Value * * args, Value & v) + { + import(state, pos, *args[1], args[0], v); + } +}); + +static RegisterPrimOp primop_import({ + .name = "import", + .args = {"path"}, + .doc = R"( + Load, parse and return the Nix expression in the file *path*. If + *path* is a directory, the file ` default.nix ` in that directory + is loaded. Evaluation aborts if the file doesn’t exist or contains + an incorrect Nix expression. `import` implements Nix’s module + system: you can put any Nix expression (such as a set or a + function) in a separate file, and use it from Nix expressions in + other files. + + > **Note** + > + > Unlike some languages, `import` is a regular function in Nix. + > Paths using the angle bracket syntax (e.g., `import` *\*) + > are [normal path values](language-values.md). + + A Nix expression loaded by `import` must not contain any *free + variables* (identifiers that are not defined in the Nix expression + itself and are not built-in). Therefore, it cannot refer to + variables that are in scope at the call site. For instance, if you + have a calling expression + + ```nix + rec { + x = 123; + y = import ./foo.nix; + } + ``` + + then the following `foo.nix` will give an error: + + ```nix + x + 456 + ``` + + since `x` is not in scope in `foo.nix`. If you want `x` to be + available in `foo.nix`, you should pass it as a function argument: + + ```nix + rec { + x = 123; + y = import ./foo.nix x; + } + ``` + + and + + ```nix + x: x + 456 + ``` + + (The function argument doesn’t have to be called `x` in `foo.nix`; + any name would work.) + )", + .fun = [](EvalState & state, const PosIdx pos, Value * * args, Value & v) + { + import(state, pos, *args[0], nullptr, v); + } +}); + +/* Want reasonable symbol names, so extern C */ +/* !!! Should we pass the Pos or the file name too? */ +extern "C" typedef void (*ValueInitializer)(EvalState & state, Value & v); + +/* Load a ValueInitializer from a DSO and return whatever it initializes */ +void prim_importNative(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto path = realisePath(state, pos, *args[0]); + + std::string sym(state.forceStringNoCtx(*args[1], pos)); + + void *handle = dlopen(path.c_str(), RTLD_LAZY | RTLD_LOCAL); + if (!handle) + state.debugThrowLastTrace(EvalError("could not open '%1%': %2%", path, dlerror())); + + dlerror(); + ValueInitializer func = (ValueInitializer) dlsym(handle, sym.c_str()); + if(!func) { + char *message = dlerror(); + if (message) + state.debugThrowLastTrace(EvalError("could not load symbol '%1%' from '%2%': %3%", sym, path, message)); + else + state.debugThrowLastTrace(EvalError("symbol '%1%' from '%2%' resolved to NULL when a function pointer was expected", sym, path)); + } + + (func)(state, v); + + /* We don't dlclose because v may be a primop referencing a function in the shared object file */ +} + + +/* Execute a program and parse its output */ +void prim_exec(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + auto elems = args[0]->listElems(); + auto count = args[0]->listSize(); + if (count == 0) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("at least one argument to 'exec' required"), + .errPos = state.positions[pos] + })); + PathSet context; + auto program = state.coerceToString(pos, *elems[0], context, false, false).toOwned(); + Strings commandArgs; + for (unsigned int i = 1; i < args[0]->listSize(); ++i) { + commandArgs.push_back(state.coerceToString(pos, *elems[i], context, false, false).toOwned()); + } + try { + auto _ = state.realiseContext(context); // FIXME: Handle CA derivations + } catch (InvalidPathError & e) { + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("cannot execute '%1%', since path '%2%' is not valid", + program, e.path), + .errPos = state.positions[pos] + })); + } + + auto output = runProgram(program, true, commandArgs); + Expr * parsed; + try { + auto base = state.positions[pos]; + parsed = state.parseExprFromString(std::move(output), base.file); + } catch (Error & e) { + e.addTrace(state.positions[pos], "While parsing the output from '%1%'", program); + throw; + } + try { + state.eval(parsed, v); + } catch (Error & e) { + e.addTrace(state.positions[pos], "While evaluating the output from '%1%'", program); + throw; + } +} + + +/* Return a string representing the type of the expression. */ +static void prim_typeOf(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + std::string t; + switch (args[0]->type()) { + case nInt: t = "int"; break; + case nBool: t = "bool"; break; + case nString: t = "string"; break; + case nPath: t = "path"; break; + case nNull: t = "null"; break; + case nAttrs: t = "set"; break; + case nList: t = "list"; break; + case nFunction: t = "lambda"; break; + case nExternal: + t = args[0]->external->typeOf(); + break; + case nFloat: t = "float"; break; + case nThunk: abort(); + } + v.mkString(t); +} + +static RegisterPrimOp primop_typeOf({ + .name = "__typeOf", + .args = {"e"}, + .doc = R"( + Return a string representing the type of the value *e*, namely + `"int"`, `"bool"`, `"string"`, `"path"`, `"null"`, `"set"`, + `"list"`, `"lambda"` or `"float"`. + )", + .fun = prim_typeOf, +}); + +/* Determine whether the argument is the null value. */ +static void prim_isNull(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nNull); +} + +static RegisterPrimOp primop_isNull({ + .name = "isNull", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to `null`, and `false` otherwise. + + > **Warning** + > + > This function is *deprecated*; just write `e == null` instead. + )", + .fun = prim_isNull, +}); + +/* Determine whether the argument is a function. */ +static void prim_isFunction(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nFunction); +} + +static RegisterPrimOp primop_isFunction({ + .name = "__isFunction", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a function, and `false` otherwise. + )", + .fun = prim_isFunction, +}); + +/* Determine whether the argument is an integer. */ +static void prim_isInt(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nInt); +} + +static RegisterPrimOp primop_isInt({ + .name = "__isInt", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to an integer, and `false` otherwise. + )", + .fun = prim_isInt, +}); + +/* Determine whether the argument is a float. */ +static void prim_isFloat(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nFloat); +} + +static RegisterPrimOp primop_isFloat({ + .name = "__isFloat", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a float, and `false` otherwise. + )", + .fun = prim_isFloat, +}); + +/* Determine whether the argument is a string. */ +static void prim_isString(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nString); +} + +static RegisterPrimOp primop_isString({ + .name = "__isString", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a string, and `false` otherwise. + )", + .fun = prim_isString, +}); + +/* Determine whether the argument is a Boolean. */ +static void prim_isBool(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nBool); +} + +static RegisterPrimOp primop_isBool({ + .name = "__isBool", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a bool, and `false` otherwise. + )", + .fun = prim_isBool, +}); + +/* Determine whether the argument is a path. */ +static void prim_isPath(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nPath); +} + +static RegisterPrimOp primop_isPath({ + .name = "__isPath", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a path, and `false` otherwise. + )", + .fun = prim_isPath, +}); + +struct CompareValues +{ + EvalState & state; + + CompareValues(EvalState & state) : state(state) { }; + + bool operator () (Value * v1, Value * v2) const + { + if (v1->type() == nFloat && v2->type() == nInt) + return v1->fpoint < v2->integer; + if (v1->type() == nInt && v2->type() == nFloat) + return v1->integer < v2->fpoint; + if (v1->type() != v2->type()) + state.debugThrowLastTrace(EvalError("cannot compare %1% with %2%", showType(*v1), showType(*v2))); + switch (v1->type()) { + case nInt: + return v1->integer < v2->integer; + case nFloat: + return v1->fpoint < v2->fpoint; + case nString: + return strcmp(v1->string.s, v2->string.s) < 0; + case nPath: + return strcmp(v1->path, v2->path) < 0; + case nList: + // Lexicographic comparison + for (size_t i = 0;; i++) { + if (i == v2->listSize()) { + return false; + } else if (i == v1->listSize()) { + return true; + } else if (!state.eqValues(*v1->listElems()[i], *v2->listElems()[i])) { + return (*this)(v1->listElems()[i], v2->listElems()[i]); + } + } + default: + state.debugThrowLastTrace(EvalError("cannot compare %1% with %2%", showType(*v1), showType(*v2))); + } + } +}; + + +#if HAVE_BOEHMGC +typedef std::list> ValueList; +#else +typedef std::list ValueList; +#endif + + +static Bindings::iterator getAttr( + EvalState & state, + std::string_view funcName, + Symbol attrSym, + Bindings * attrSet, + const PosIdx pos) +{ + Bindings::iterator value = attrSet->find(attrSym); + if (value == attrSet->end()) { + hintformat errorMsg = hintfmt( + "attribute '%s' missing for call to '%s'", + state.symbols[attrSym], + funcName + ); + + auto aPos = attrSet->pos; + if (!aPos) { + state.debugThrowLastTrace(TypeError({ + .msg = errorMsg, + .errPos = state.positions[pos], + })); + } else { + auto e = TypeError({ + .msg = errorMsg, + .errPos = state.positions[aPos], + }); + + // Adding another trace for the function name to make it clear + // which call received wrong arguments. + e.addTrace(state.positions[pos], hintfmt("while invoking '%s'", funcName)); + state.debugThrowLastTrace(e); + } + } + + return value; +} + +static void prim_genericClosure(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + + /* Get the start set. */ + Bindings::iterator startSet = getAttr( + state, + "genericClosure", + state.sStartSet, + args[0]->attrs, + pos + ); + + state.forceList(*startSet->value, pos); + + ValueList workSet; + for (auto elem : startSet->value->listItems()) + workSet.push_back(elem); + + /* Get the operator. */ + Bindings::iterator op = getAttr( + state, + "genericClosure", + state.sOperator, + args[0]->attrs, + pos + ); + + state.forceValue(*op->value, pos); + + /* Construct the closure by applying the operator to element of + `workSet', adding the result to `workSet', continuing until + no new elements are found. */ + ValueList res; + // `doneKeys' doesn't need to be a GC root, because its values are + // reachable from res. + auto cmp = CompareValues(state); + std::set doneKeys(cmp); + while (!workSet.empty()) { + Value * e = *(workSet.begin()); + workSet.pop_front(); + + state.forceAttrs(*e, pos); + + Bindings::iterator key = + e->attrs->find(state.sKey); + if (key == e->attrs->end()) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("attribute 'key' required"), + .errPos = state.positions[pos] + })); + state.forceValue(*key->value, pos); + + if (!doneKeys.insert(key->value).second) continue; + res.push_back(e); + + /* Call the `operator' function with `e' as argument. */ + Value call; + call.mkApp(op->value, e); + state.forceList(call, pos); + + /* Add the values returned by the operator to the work set. */ + for (auto elem : call.listItems()) { + state.forceValue(*elem, pos); + workSet.push_back(elem); + } + } + + /* Create the result list. */ + state.mkList(v, res.size()); + unsigned int n = 0; + for (auto & i : res) + v.listElems()[n++] = i; +} + +static RegisterPrimOp primop_genericClosure(RegisterPrimOp::Info { + .name = "__genericClosure", + .args = {"attrset"}, + .arity = 1, + .doc = R"( + Take an *attrset* with values named `startSet` and `operator` in order to + return a *list of attrsets* by starting with the `startSet`, recursively + applying the `operator` function to each element. The *attrsets* in the + `startSet` and produced by the `operator` must each contain value named + `key` which are comparable to each other. The result is produced by + repeatedly calling the operator for each element encountered with a + unique key, terminating when no new elements are produced. For example, + + ``` + builtins.genericClosure { + startSet = [ {key = 5;} ]; + operator = item: [{ + key = if (item.key / 2 ) * 2 == item.key + then item.key / 2 + else 3 * item.key + 1; + }]; + } + ``` + evaluates to + ``` + [ { key = 5; } { key = 16; } { key = 8; } { key = 4; } { key = 2; } { key = 1; } ] + ``` + )", + .fun = prim_genericClosure, +}); + + +static RegisterPrimOp primop_break({ + .name = "break", + .args = {"v"}, + .doc = R"( + In debug mode (enabled using `--debugger`), pause Nix expression evaluation and enter the REPL. + Otherwise, return the argument `v`. + )", + .fun = [](EvalState & state, const PosIdx pos, Value * * args, Value & v) + { + if (state.debugRepl && !state.debugTraces.empty()) { + auto error = Error(ErrorInfo { + .level = lvlInfo, + .msg = hintfmt("breakpoint reached"), + .errPos = state.positions[pos], + }); + + auto & dt = state.debugTraces.front(); + state.runDebugRepl(&error, dt.env, dt.expr); + + if (state.debugQuit) { + // If the user elects to quit the repl, throw an exception. + throw Error(ErrorInfo{ + .level = lvlInfo, + .msg = hintfmt("quit the debugger"), + .errPos = state.positions[noPos], + }); + } + } + + // Return the value we were passed. + v = *args[0]; + } +}); + +static RegisterPrimOp primop_abort({ + .name = "abort", + .args = {"s"}, + .doc = R"( + Abort Nix expression evaluation and print the error message *s*. + )", + .fun = [](EvalState & state, const PosIdx pos, Value * * args, Value & v) + { + PathSet context; + auto s = state.coerceToString(pos, *args[0], context).toOwned(); + state.debugThrowLastTrace(Abort("evaluation aborted with the following error message: '%1%'", s)); + } +}); + +static RegisterPrimOp primop_throw({ + .name = "throw", + .args = {"s"}, + .doc = R"( + Throw an error message *s*. This usually aborts Nix expression + evaluation, but in `nix-env -qa` and other commands that try to + evaluate a set of derivations to get information about those + derivations, a derivation that throws an error is silently skipped + (which is not the case for `abort`). + )", + .fun = [](EvalState & state, const PosIdx pos, Value * * args, Value & v) + { + PathSet context; + auto s = state.coerceToString(pos, *args[0], context).toOwned(); + state.debugThrowLastTrace(ThrownError(s)); + } +}); + +static void prim_addErrorContext(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + try { + state.forceValue(*args[1], pos); + v = *args[1]; + } catch (Error & e) { + PathSet context; + e.addTrace(std::nullopt, state.coerceToString(pos, *args[0], context).toOwned()); + throw; + } +} + +static RegisterPrimOp primop_addErrorContext(RegisterPrimOp::Info { + .name = "__addErrorContext", + .arity = 2, + .fun = prim_addErrorContext, +}); + +static void prim_ceil(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto value = state.forceFloat(*args[0], args[0]->determinePos(pos)); + v.mkInt(ceil(value)); +} + +static RegisterPrimOp primop_ceil({ + .name = "__ceil", + .args = {"double"}, + .doc = R"( + Converts an IEEE-754 double-precision floating-point number (*double*) to + the next higher integer. + + If the datatype is neither an integer nor a "float", an evaluation error will be + thrown. + )", + .fun = prim_ceil, +}); + +static void prim_floor(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto value = state.forceFloat(*args[0], args[0]->determinePos(pos)); + v.mkInt(floor(value)); +} + +static RegisterPrimOp primop_floor({ + .name = "__floor", + .args = {"double"}, + .doc = R"( + Converts an IEEE-754 double-precision floating-point number (*double*) to + the next lower integer. + + If the datatype is neither an integer nor a "float", an evaluation error will be + thrown. + )", + .fun = prim_floor, +}); + +/* Try evaluating the argument. Success => {success=true; value=something;}, + * else => {success=false; value=false;} */ +static void prim_tryEval(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto attrs = state.buildBindings(2); + try { + state.forceValue(*args[0], pos); + attrs.insert(state.sValue, args[0]); + attrs.alloc("success").mkBool(true); + } catch (AssertionError & e) { + attrs.alloc(state.sValue).mkBool(false); + attrs.alloc("success").mkBool(false); + } + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_tryEval({ + .name = "__tryEval", + .args = {"e"}, + .doc = R"( + Try to shallowly evaluate *e*. Return a set containing the + attributes `success` (`true` if *e* evaluated successfully, + `false` if an error was thrown) and `value`, equalling *e* if + successful and `false` otherwise. `tryEval` will only prevent + errors created by `throw` or `assert` from being thrown. + Errors `tryEval` will not catch are for example those created + by `abort` and type errors generated by builtins. Also note that + this doesn't evaluate *e* deeply, so `let e = { x = throw ""; }; + in (builtins.tryEval e).success` will be `true`. Using + `builtins.deepSeq` one can get the expected result: + `let e = { x = throw ""; }; in + (builtins.tryEval (builtins.deepSeq e e)).success` will be + `false`. + )", + .fun = prim_tryEval, +}); + +/* Return an environment variable. Use with care. */ +static void prim_getEnv(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + std::string name(state.forceStringNoCtx(*args[0], pos)); + v.mkString(evalSettings.restrictEval || evalSettings.pureEval ? "" : getEnv(name).value_or("")); +} + +static RegisterPrimOp primop_getEnv({ + .name = "__getEnv", + .args = {"s"}, + .doc = R"( + `getEnv` returns the value of the environment variable *s*, or an + empty string if the variable doesn’t exist. This function should be + used with care, as it can introduce all sorts of nasty environment + dependencies in your Nix expression. + + `getEnv` is used in Nix Packages to locate the file + `~/.nixpkgs/config.nix`, which contains user-local settings for Nix + Packages. (That is, it does a `getEnv "HOME"` to locate the user’s + home directory.) + )", + .fun = prim_getEnv, +}); + +/* Evaluate the first argument, then return the second argument. */ +static void prim_seq(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + v = *args[1]; +} + +static RegisterPrimOp primop_seq({ + .name = "__seq", + .args = {"e1", "e2"}, + .doc = R"( + Evaluate *e1*, then evaluate and return *e2*. This ensures that a + computation is strict in the value of *e1*. + )", + .fun = prim_seq, +}); + +/* Evaluate the first argument deeply (i.e. recursing into lists and + attrsets), then return the second argument. */ +static void prim_deepSeq(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValueDeep(*args[0]); + state.forceValue(*args[1], pos); + v = *args[1]; +} + +static RegisterPrimOp primop_deepSeq({ + .name = "__deepSeq", + .args = {"e1", "e2"}, + .doc = R"( + This is like `seq e1 e2`, except that *e1* is evaluated *deeply*: + if it’s a list or set, its elements or attributes are also + evaluated recursively. + )", + .fun = prim_deepSeq, +}); + +/* Evaluate the first expression and print it on standard error. Then + return the second expression. Useful for debugging. */ +static void prim_trace(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + if (args[0]->type() == nString) + printError("trace: %1%", args[0]->string.s); + else + printError("trace: %1%", printValue(state, *args[0])); + state.forceValue(*args[1], pos); + v = *args[1]; +} + +static RegisterPrimOp primop_trace({ + .name = "__trace", + .args = {"e1", "e2"}, + .doc = R"( + Evaluate *e1* and print its abstract syntax representation on + standard error. Then return *e2*. This function is useful for + debugging. + )", + .fun = prim_trace, +}); + + +/************************************************************* + * Derivations + *************************************************************/ + + +/* Construct (as a unobservable side effect) a Nix derivation + expression that performs the derivation described by the argument + set. Returns the original set extended with the following + attributes: `outPath' containing the primary output path of the + derivation; `drvPath' containing the path of the Nix expression; + and `type' set to `derivation' to indicate that this is a + derivation. */ +static void prim_derivationStrict(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + + /* Figure out the name first (for stack backtraces). */ + Bindings::iterator attr = getAttr( + state, + "derivationStrict", + state.sName, + args[0]->attrs, + pos + ); + + std::string drvName; + const auto posDrvName = attr->pos; + try { + drvName = state.forceStringNoCtx(*attr->value, pos); + } catch (Error & e) { + e.addTrace(state.positions[posDrvName], "while evaluating the derivation attribute 'name'"); + throw; + } + + /* Check whether attributes should be passed as a JSON file. */ + std::ostringstream jsonBuf; + std::unique_ptr jsonObject; + attr = args[0]->attrs->find(state.sStructuredAttrs); + if (attr != args[0]->attrs->end() && state.forceBool(*attr->value, pos)) + jsonObject = std::make_unique(jsonBuf); + + /* Check whether null attributes should be ignored. */ + bool ignoreNulls = false; + attr = args[0]->attrs->find(state.sIgnoreNulls); + if (attr != args[0]->attrs->end()) + ignoreNulls = state.forceBool(*attr->value, pos); + + /* Build the derivation expression by processing the attributes. */ + Derivation drv; + drv.name = drvName; + + PathSet context; + + bool contentAddressed = false; + bool isImpure = false; + std::optional outputHash; + std::string outputHashAlgo; + std::optional ingestionMethod; + + StringSet outputs; + outputs.insert("out"); + + for (auto & i : args[0]->attrs->lexicographicOrder(state.symbols)) { + if (i->name == state.sIgnoreNulls) continue; + const std::string & key = state.symbols[i->name]; + vomit("processing attribute '%1%'", key); + + auto handleHashMode = [&](const std::string_view s) { + if (s == "recursive") ingestionMethod = FileIngestionMethod::Recursive; + else if (s == "flat") ingestionMethod = FileIngestionMethod::Flat; + else + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("invalid value '%s' for 'outputHashMode' attribute", s), + .errPos = state.positions[posDrvName] + })); + }; + + auto handleOutputs = [&](const Strings & ss) { + outputs.clear(); + for (auto & j : ss) { + if (outputs.find(j) != outputs.end()) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("duplicate derivation output '%1%'", j), + .errPos = state.positions[posDrvName] + })); + /* !!! Check whether j is a valid attribute + name. */ + /* Derivations cannot be named ‘drv’, because + then we'd have an attribute ‘drvPath’ in + the resulting set. */ + if (j == "drv") + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("invalid derivation output name 'drv'" ), + .errPos = state.positions[posDrvName] + })); + outputs.insert(j); + } + if (outputs.empty()) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("derivation cannot have an empty set of outputs"), + .errPos = state.positions[posDrvName] + })); + }; + + try { + + if (ignoreNulls) { + state.forceValue(*i->value, pos); + if (i->value->type() == nNull) continue; + } + + if (i->name == state.sContentAddressed) { + contentAddressed = state.forceBool(*i->value, pos); + if (contentAddressed) + settings.requireExperimentalFeature(Xp::CaDerivations); + } + + else if (i->name == state.sImpure) { + isImpure = state.forceBool(*i->value, pos); + if (isImpure) + settings.requireExperimentalFeature(Xp::ImpureDerivations); + } + + /* The `args' attribute is special: it supplies the + command-line arguments to the builder. */ + else if (i->name == state.sArgs) { + state.forceList(*i->value, pos); + for (auto elem : i->value->listItems()) { + auto s = state.coerceToString(posDrvName, *elem, context, true).toOwned(); + drv.args.push_back(s); + } + } + + /* All other attributes are passed to the builder through + the environment. */ + else { + + if (jsonObject) { + + if (i->name == state.sStructuredAttrs) continue; + + auto placeholder(jsonObject->placeholder(key)); + printValueAsJSON(state, true, *i->value, pos, placeholder, context); + + if (i->name == state.sBuilder) + drv.builder = state.forceString(*i->value, context, posDrvName); + else if (i->name == state.sSystem) + drv.platform = state.forceStringNoCtx(*i->value, posDrvName); + else if (i->name == state.sOutputHash) + outputHash = state.forceStringNoCtx(*i->value, posDrvName); + else if (i->name == state.sOutputHashAlgo) + outputHashAlgo = state.forceStringNoCtx(*i->value, posDrvName); + else if (i->name == state.sOutputHashMode) + handleHashMode(state.forceStringNoCtx(*i->value, posDrvName)); + else if (i->name == state.sOutputs) { + /* Require ‘outputs’ to be a list of strings. */ + state.forceList(*i->value, posDrvName); + Strings ss; + for (auto elem : i->value->listItems()) + ss.emplace_back(state.forceStringNoCtx(*elem, posDrvName)); + handleOutputs(ss); + } + + } else { + auto s = state.coerceToString(i->pos, *i->value, context, true).toOwned(); + drv.env.emplace(key, s); + if (i->name == state.sBuilder) drv.builder = std::move(s); + else if (i->name == state.sSystem) drv.platform = std::move(s); + else if (i->name == state.sOutputHash) outputHash = std::move(s); + else if (i->name == state.sOutputHashAlgo) outputHashAlgo = std::move(s); + else if (i->name == state.sOutputHashMode) handleHashMode(s); + else if (i->name == state.sOutputs) + handleOutputs(tokenizeString(s)); + } + + } + + } catch (Error & e) { + e.addTrace(state.positions[posDrvName], + "while evaluating the attribute '%1%' of the derivation '%2%'", + key, drvName); + throw; + } + } + + if (jsonObject) { + jsonObject.reset(); + drv.env.emplace("__json", jsonBuf.str()); + } + + /* Everything in the context of the strings in the derivation + attributes should be added as dependencies of the resulting + derivation. */ + for (auto & path : context) { + + /* Paths marked with `=' denote that the path of a derivation + is explicitly passed to the builder. Since that allows the + builder to gain access to every path in the dependency + graph of the derivation (including all outputs), all paths + in the graph must be added to this derivation's list of + inputs to ensure that they are available when the builder + runs. */ + if (path.at(0) == '=') { + /* !!! This doesn't work if readOnlyMode is set. */ + StorePathSet refs; + state.store->computeFSClosure(state.store->parseStorePath(std::string_view(path).substr(1)), refs); + for (auto & j : refs) { + drv.inputSrcs.insert(j); + if (j.isDerivation()) + drv.inputDrvs[j] = state.store->readDerivation(j).outputNames(); + } + } + + /* Handle derivation outputs of the form ‘!!’. */ + else if (path.at(0) == '!') { + auto ctx = decodeContext(*state.store, path); + drv.inputDrvs[ctx.first].insert(ctx.second); + } + + /* Otherwise it's a source file. */ + else + drv.inputSrcs.insert(state.store->parseStorePath(path)); + } + + /* Do we have all required attributes? */ + if (drv.builder == "") + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("required attribute 'builder' missing"), + .errPos = state.positions[posDrvName] + })); + + if (drv.platform == "") + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("required attribute 'system' missing"), + .errPos = state.positions[posDrvName] + })); + + /* Check whether the derivation name is valid. */ + if (isDerivation(drvName)) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("derivation names are not allowed to end in '%s'", drvExtension), + .errPos = state.positions[posDrvName] + })); + + if (outputHash) { + /* Handle fixed-output derivations. + + Ignore `__contentAddressed` because fixed output derivations are + already content addressed. */ + if (outputs.size() != 1 || *(outputs.begin()) != "out") + state.debugThrowLastTrace(Error({ + .msg = hintfmt("multiple outputs are not supported in fixed-output derivations"), + .errPos = state.positions[posDrvName] + })); + + auto h = newHashAllowEmpty(*outputHash, parseHashTypeOpt(outputHashAlgo)); + + auto method = ingestionMethod.value_or(FileIngestionMethod::Flat); + auto outPath = state.store->makeFixedOutputPath(method, h, drvName); + drv.env["out"] = state.store->printStorePath(outPath); + drv.outputs.insert_or_assign("out", + DerivationOutput::CAFixed { + .hash = FixedOutputHash { + .method = method, + .hash = std::move(h), + }, + }); + } + + else if (contentAddressed || isImpure) { + if (contentAddressed && isImpure) + throw EvalError({ + .msg = hintfmt("derivation cannot be both content-addressed and impure"), + .errPos = state.positions[posDrvName] + }); + + auto ht = parseHashTypeOpt(outputHashAlgo).value_or(htSHA256); + auto method = ingestionMethod.value_or(FileIngestionMethod::Recursive); + + for (auto & i : outputs) { + drv.env[i] = hashPlaceholder(i); + if (isImpure) + drv.outputs.insert_or_assign(i, + DerivationOutput::Impure { + .method = method, + .hashType = ht, + }); + else + drv.outputs.insert_or_assign(i, + DerivationOutput::CAFloating { + .method = method, + .hashType = ht, + }); + } + } + + else { + /* Compute a hash over the "masked" store derivation, which is + the final one except that in the list of outputs, the + output paths are empty strings, and the corresponding + environment variables have an empty value. This ensures + that changes in the set of output names do get reflected in + the hash. */ + for (auto & i : outputs) { + drv.env[i] = ""; + drv.outputs.insert_or_assign(i, + DerivationOutput::Deferred { }); + } + + auto hashModulo = hashDerivationModulo(*state.store, Derivation(drv), true); + switch (hashModulo.kind) { + case DrvHash::Kind::Regular: + for (auto & i : outputs) { + auto h = get(hashModulo.hashes, i); + if (!h) + throw AssertionError({ + .msg = hintfmt("derivation produced no hash for output '%s'", i), + .errPos = state.positions[posDrvName], + }); + auto outPath = state.store->makeOutputPath(i, *h, drvName); + drv.env[i] = state.store->printStorePath(outPath); + drv.outputs.insert_or_assign( + i, + DerivationOutputInputAddressed { + .path = std::move(outPath), + }); + } + break; + ; + case DrvHash::Kind::Deferred: + for (auto & i : outputs) { + drv.outputs.insert_or_assign(i, DerivationOutputDeferred {}); + } + } + } + + /* Write the resulting term into the Nix store directory. */ + auto drvPath = writeDerivation(*state.store, drv, state.repair); + auto drvPathS = state.store->printStorePath(drvPath); + + printMsg(lvlChatty, "instantiated '%1%' -> '%2%'", drvName, drvPathS); + + /* Optimisation, but required in read-only mode! because in that + case we don't actually write store derivations, so we can't + read them later. */ + { + auto h = hashDerivationModulo(*state.store, drv, false); + drvHashes.lock()->insert_or_assign(drvPath, h); + } + + auto attrs = state.buildBindings(1 + drv.outputs.size()); + attrs.alloc(state.sDrvPath).mkString(drvPathS, {"=" + drvPathS}); + for (auto & i : drv.outputs) + mkOutputString(state, attrs, drvPath, drv, i); + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_derivationStrict(RegisterPrimOp::Info { + .name = "derivationStrict", + .arity = 1, + .fun = prim_derivationStrict, +}); + +/* Return a placeholder string for the specified output that will be + substituted by the corresponding output path at build time. For + example, 'placeholder "out"' returns the string + /1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9. At build + time, any occurrence of this string in an derivation attribute will + be replaced with the concrete path in the Nix store of the output + ‘out’. */ +static void prim_placeholder(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + v.mkString(hashPlaceholder(state.forceStringNoCtx(*args[0], pos))); +} + +static RegisterPrimOp primop_placeholder({ + .name = "placeholder", + .args = {"output"}, + .doc = R"( + Return a placeholder string for the specified *output* that will be + substituted by the corresponding output path at build time. Typical + outputs would be `"out"`, `"bin"` or `"dev"`. + )", + .fun = prim_placeholder, +}); + + +/************************************************************* + * Paths + *************************************************************/ + + +/* Convert the argument to a path. !!! obsolete? */ +static void prim_toPath(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + Path path = state.coerceToPath(pos, *args[0], context); + v.mkString(canonPath(path), context); +} + +static RegisterPrimOp primop_toPath({ + .name = "__toPath", + .args = {"s"}, + .doc = R"( + **DEPRECATED.** Use `/. + "/path"` to convert a string into an absolute + path. For relative paths, use `./. + "/path"`. + )", + .fun = prim_toPath, +}); + +/* Allow a valid store path to be used in an expression. This is + useful in some generated expressions such as in nix-push, which + generates a call to a function with an already existing store path + as argument. You don't want to use `toPath' here because it copies + the path to the Nix store, which yields a copy like + /nix/store/newhash-oldhash-oldname. In the past, `toPath' had + special case behaviour for store paths, but that created weird + corner cases. */ +static void prim_storePath(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + if (evalSettings.pureEval) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("'%s' is not allowed in pure evaluation mode", "builtins.storePath"), + .errPos = state.positions[pos] + })); + + PathSet context; + Path path = state.checkSourcePath(state.coerceToPath(pos, *args[0], context)); + /* Resolve symlinks in ‘path’, unless ‘path’ itself is a symlink + directly in the store. The latter condition is necessary so + e.g. nix-push does the right thing. */ + if (!state.store->isStorePath(path)) path = canonPath(path, true); + if (!state.store->isInStore(path)) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("path '%1%' is not in the Nix store", path), + .errPos = state.positions[pos] + })); + auto path2 = state.store->toStorePath(path).first; + if (!settings.readOnlyMode) + state.store->ensurePath(path2); + context.insert(state.store->printStorePath(path2)); + v.mkString(path, context); +} + +static RegisterPrimOp primop_storePath({ + .name = "__storePath", + .args = {"path"}, + .doc = R"( + This function allows you to define a dependency on an already + existing store path. For example, the derivation attribute `src + = builtins.storePath /nix/store/f1d18v1y…-source` causes the + derivation to depend on the specified path, which must exist or + be substitutable. Note that this differs from a plain path + (e.g. `src = /nix/store/f1d18v1y…-source`) in that the latter + causes the path to be *copied* again to the Nix store, resulting + in a new path (e.g. `/nix/store/ld01dnzc…-source-source`). + + This function is not available in pure evaluation mode. + )", + .fun = prim_storePath, +}); + +static void prim_pathExists(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + /* We don’t check the path right now, because we don’t want to + throw if the path isn’t allowed, but just return false (and we + can’t just catch the exception here because we still want to + throw if something in the evaluation of `*args[0]` tries to + access an unauthorized path). */ + auto path = realisePath(state, pos, *args[0], { .checkForPureEval = false }); + + try { + v.mkBool(pathExists(state.checkSourcePath(path))); + } catch (SysError & e) { + /* Don't give away info from errors while canonicalising + ‘path’ in restricted mode. */ + v.mkBool(false); + } catch (RestrictedPathError & e) { + v.mkBool(false); + } +} + +static RegisterPrimOp primop_pathExists({ + .name = "__pathExists", + .args = {"path"}, + .doc = R"( + Return `true` if the path *path* exists at evaluation time, and + `false` otherwise. + )", + .fun = prim_pathExists, +}); + +/* Return the base name of the given string, i.e., everything + following the last slash. */ +static void prim_baseNameOf(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + v.mkString(baseNameOf(*state.coerceToString(pos, *args[0], context, false, false)), context); +} + +static RegisterPrimOp primop_baseNameOf({ + .name = "baseNameOf", + .args = {"s"}, + .doc = R"( + Return the *base name* of the string *s*, that is, everything + following the final slash in the string. This is similar to the GNU + `basename` command. + )", + .fun = prim_baseNameOf, +}); + +/* Return the directory of the given path, i.e., everything before the + last slash. Return either a path or a string depending on the type + of the argument. */ +static void prim_dirOf(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + auto path = state.coerceToString(pos, *args[0], context, false, false); + auto dir = dirOf(*path); + if (args[0]->type() == nPath) v.mkPath(dir); else v.mkString(dir, context); +} + +static RegisterPrimOp primop_dirOf({ + .name = "dirOf", + .args = {"s"}, + .doc = R"( + Return the directory part of the string *s*, that is, everything + before the final slash in the string. This is similar to the GNU + `dirname` command. + )", + .fun = prim_dirOf, +}); + +/* Return the contents of a file as a string. */ +static void prim_readFile(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto path = realisePath(state, pos, *args[0]); + auto s = readFile(path); + if (s.find((char) 0) != std::string::npos) + state.debugThrowLastTrace(Error("the contents of the file '%1%' cannot be represented as a Nix string", path)); + StorePathSet refs; + if (state.store->isInStore(path)) { + try { + refs = state.store->queryPathInfo(state.store->toStorePath(path).first)->references; + } catch (Error &) { // FIXME: should be InvalidPathError + } + } + auto context = state.store->printStorePathSet(refs); + v.mkString(s, context); +} + +static RegisterPrimOp primop_readFile({ + .name = "__readFile", + .args = {"path"}, + .doc = R"( + Return the contents of the file *path* as a string. + )", + .fun = prim_readFile, +}); + +/* Find a file in the Nix search path. Used to implement paths, + which are desugared to 'findFile __nixPath "x"'. */ +static void prim_findFile(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + + SearchPath searchPath; + + for (auto v2 : args[0]->listItems()) { + state.forceAttrs(*v2, pos); + + std::string prefix; + Bindings::iterator i = v2->attrs->find(state.sPrefix); + if (i != v2->attrs->end()) + prefix = state.forceStringNoCtx(*i->value, pos); + + i = getAttr( + state, + "findFile", + state.sPath, + v2->attrs, + pos + ); + + PathSet context; + auto path = state.coerceToString(pos, *i->value, context, false, false).toOwned(); + + try { + auto rewrites = state.realiseContext(context); + path = rewriteStrings(path, rewrites); + } catch (InvalidPathError & e) { + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("cannot find '%1%', since path '%2%' is not valid", path, e.path), + .errPos = state.positions[pos] + })); + } + + searchPath.emplace_back(prefix, path); + } + + auto path = state.forceStringNoCtx(*args[1], pos); + + v.mkPath(state.checkSourcePath(state.findFile(searchPath, path, pos))); +} + +static RegisterPrimOp primop_findFile(RegisterPrimOp::Info { + .name = "__findFile", + .arity = 2, + .fun = prim_findFile, +}); + +/* Return the cryptographic hash of a file in base-16. */ +static void prim_hashFile(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto type = state.forceStringNoCtx(*args[0], pos); + std::optional ht = parseHashType(type); + if (!ht) + state.debugThrowLastTrace(Error({ + .msg = hintfmt("unknown hash type '%1%'", type), + .errPos = state.positions[pos] + })); + + auto path = realisePath(state, pos, *args[1]); + + v.mkString(hashFile(*ht, path).to_string(Base16, false)); +} + +static RegisterPrimOp primop_hashFile({ + .name = "__hashFile", + .args = {"type", "p"}, + .doc = R"( + Return a base-16 representation of the cryptographic hash of the + file at path *p*. The hash algorithm specified by *type* must be one + of `"md5"`, `"sha1"`, `"sha256"` or `"sha512"`. + )", + .fun = prim_hashFile, +}); + +/* Read a directory (without . or ..) */ +static void prim_readDir(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto path = realisePath(state, pos, *args[0]); + + DirEntries entries = readDirectory(path); + + auto attrs = state.buildBindings(entries.size()); + + for (auto & ent : entries) { + if (ent.type == DT_UNKNOWN) + ent.type = getFileType(path + "/" + ent.name); + attrs.alloc(ent.name).mkString( + ent.type == DT_REG ? "regular" : + ent.type == DT_DIR ? "directory" : + ent.type == DT_LNK ? "symlink" : + "unknown"); + } + + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_readDir({ + .name = "__readDir", + .args = {"path"}, + .doc = R"( + Return the contents of the directory *path* as a set mapping + directory entries to the corresponding file type. For instance, if + directory `A` contains a regular file `B` and another directory + `C`, then `builtins.readDir ./A` will return the set + + ```nix + { B = "regular"; C = "directory"; } + ``` + + The possible values for the file type are `"regular"`, + `"directory"`, `"symlink"` and `"unknown"`. + )", + .fun = prim_readDir, +}); + + +/************************************************************* + * Creating files + *************************************************************/ + + +/* Convert the argument (which can be any Nix expression) to an XML + representation returned in a string. Not all Nix expressions can + be sensibly or completely represented (e.g., functions). */ +static void prim_toXML(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + std::ostringstream out; + PathSet context; + printValueAsXML(state, true, false, *args[0], out, context, pos); + v.mkString(out.str(), context); +} + +static RegisterPrimOp primop_toXML({ + .name = "__toXML", + .args = {"e"}, + .doc = R"( + Return a string containing an XML representation of *e*. The main + application for `toXML` is to communicate information with the + builder in a more structured format than plain environment + variables. + + Here is an example where this is the case: + + ```nix + { stdenv, fetchurl, libxslt, jira, uberwiki }: + + stdenv.mkDerivation (rec { + name = "web-server"; + + buildInputs = [ libxslt ]; + + builder = builtins.toFile "builder.sh" " + source $stdenv/setup + mkdir $out + echo "$servlets" | xsltproc ${stylesheet} - > $out/server-conf.xml ① + "; + + stylesheet = builtins.toFile "stylesheet.xsl" ② + " + + + + + + + + + + + + + "; + + servlets = builtins.toXML [ ③ + { path = "/bugtracker"; war = jira + "/lib/atlassian-jira.war"; } + { path = "/wiki"; war = uberwiki + "/uberwiki.war"; } + ]; + }) + ``` + + The builder is supposed to generate the configuration file for a + [Jetty servlet container](http://jetty.mortbay.org/). A servlet + container contains a number of servlets (`*.war` files) each + exported under a specific URI prefix. So the servlet configuration + is a list of sets containing the `path` and `war` of the servlet + (①). This kind of information is difficult to communicate with the + normal method of passing information through an environment + variable, which just concatenates everything together into a + string (which might just work in this case, but wouldn’t work if + fields are optional or contain lists themselves). Instead the Nix + expression is converted to an XML representation with `toXML`, + which is unambiguous and can easily be processed with the + appropriate tools. For instance, in the example an XSLT stylesheet + (at point ②) is applied to it (at point ①) to generate the XML + configuration file for the Jetty server. The XML representation + produced at point ③ by `toXML` is as follows: + + ```xml + + + + + + + + + + + + + + + + + + + + + + ``` + + Note that we used the `toFile` built-in to write the builder and + the stylesheet “inline” in the Nix expression. The path of the + stylesheet is spliced into the builder using the syntax `xsltproc + ${stylesheet}`. + )", + .fun = prim_toXML, +}); + +/* Convert the argument (which can be any Nix expression) to a JSON + string. Not all Nix expressions can be sensibly or completely + represented (e.g., functions). */ +static void prim_toJSON(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + std::ostringstream out; + PathSet context; + printValueAsJSON(state, true, *args[0], pos, out, context); + v.mkString(out.str(), context); +} + +static RegisterPrimOp primop_toJSON({ + .name = "__toJSON", + .args = {"e"}, + .doc = R"( + Return a string containing a JSON representation of *e*. Strings, + integers, floats, booleans, nulls and lists are mapped to their JSON + equivalents. Sets (except derivations) are represented as objects. + Derivations are translated to a JSON string containing the + derivation’s output path. Paths are copied to the store and + represented as a JSON string of the resulting store path. + )", + .fun = prim_toJSON, +}); + +/* Parse a JSON string to a value. */ +static void prim_fromJSON(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto s = state.forceStringNoCtx(*args[0], pos); + try { + parseJSON(state, s, v); + } catch (JSONParseError &e) { + e.addTrace(state.positions[pos], "while decoding a JSON string"); + throw; + } +} + +static RegisterPrimOp primop_fromJSON({ + .name = "__fromJSON", + .args = {"e"}, + .doc = R"( + Convert a JSON string to a Nix value. For example, + + ```nix + builtins.fromJSON ''{"x": [1, 2, 3], "y": null}'' + ``` + + returns the value `{ x = [ 1 2 3 ]; y = null; }`. + )", + .fun = prim_fromJSON, +}); + +/* Store a string in the Nix store as a source file that can be used + as an input by derivations. */ +static void prim_toFile(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + std::string name(state.forceStringNoCtx(*args[0], pos)); + std::string contents(state.forceString(*args[1], context, pos)); + + StorePathSet refs; + + for (auto path : context) { + if (path.at(0) != '/') + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt( + "in 'toFile': the file named '%1%' must not contain a reference " + "to a derivation but contains (%2%)", + name, path), + .errPos = state.positions[pos] + })); + refs.insert(state.store->parseStorePath(path)); + } + + auto storePath = settings.readOnlyMode + ? state.store->computeStorePathForText(name, contents, refs) + : state.store->addTextToStore(name, contents, refs, state.repair); + + /* Note: we don't need to add `context' to the context of the + result, since `storePath' itself has references to the paths + used in args[1]. */ + + /* Add the output of this to the allowed paths. */ + state.allowAndSetStorePathString(storePath, v); +} + +static RegisterPrimOp primop_toFile({ + .name = "__toFile", + .args = {"name", "s"}, + .doc = R"( + Store the string *s* in a file in the Nix store and return its + path. The file has suffix *name*. This file can be used as an + input to derivations. One application is to write builders + “inline”. For instance, the following Nix expression combines the + [Nix expression for GNU Hello](expression-syntax.md) and its + [build script](build-script.md) into one file: + + ```nix + { stdenv, fetchurl, perl }: + + stdenv.mkDerivation { + name = "hello-2.1.1"; + + builder = builtins.toFile "builder.sh" " + source $stdenv/setup + + PATH=$perl/bin:$PATH + + tar xvfz $src + cd hello-* + ./configure --prefix=$out + make + make install + "; + + src = fetchurl { + url = "http://ftp.nluug.nl/pub/gnu/hello/hello-2.1.1.tar.gz"; + sha256 = "1md7jsfd8pa45z73bz1kszpp01yw6x5ljkjk2hx7wl800any6465"; + }; + inherit perl; + } + ``` + + It is even possible for one file to refer to another, e.g., + + ```nix + builder = let + configFile = builtins.toFile "foo.conf" " + # This is some dummy configuration file. + ... + "; + in builtins.toFile "builder.sh" " + source $stdenv/setup + ... + cp ${configFile} $out/etc/foo.conf + "; + ``` + + Note that `${configFile}` is an + [antiquotation](language-values.md), so the result of the + expression `configFile` + (i.e., a path like `/nix/store/m7p7jfny445k...-foo.conf`) will be + spliced into the resulting string. + + It is however *not* allowed to have files mutually referring to each + other, like so: + + ```nix + let + foo = builtins.toFile "foo" "...${bar}..."; + bar = builtins.toFile "bar" "...${foo}..."; + in foo + ``` + + This is not allowed because it would cause a cyclic dependency in + the computation of the cryptographic hashes for `foo` and `bar`. + + It is also not possible to reference the result of a derivation. If + you are using Nixpkgs, the `writeTextFile` function is able to do + that. + )", + .fun = prim_toFile, +}); + +static void addPath( + EvalState & state, + const PosIdx pos, + const std::string & name, + Path path, + Value * filterFun, + FileIngestionMethod method, + const std::optional expectedHash, + Value & v, + const PathSet & context) +{ + try { + // FIXME: handle CA derivation outputs (where path needs to + // be rewritten to the actual output). + auto rewrites = state.realiseContext(context); + path = state.toRealPath(rewriteStrings(path, rewrites), context); + + StorePathSet refs; + + if (state.store->isInStore(path)) { + try { + auto [storePath, subPath] = state.store->toStorePath(path); + // FIXME: we should scanForReferences on the path before adding it + refs = state.store->queryPathInfo(storePath)->references; + path = state.store->toRealPath(storePath) + subPath; + } catch (Error &) { // FIXME: should be InvalidPathError + } + } + + path = evalSettings.pureEval && expectedHash + ? path + : state.checkSourcePath(path); + + PathFilter filter = filterFun ? ([&](const Path & path) { + auto st = lstat(path); + + /* Call the filter function. The first argument is the path, + the second is a string indicating the type of the file. */ + Value arg1; + arg1.mkString(path); + + Value arg2; + arg2.mkString( + S_ISREG(st.st_mode) ? "regular" : + S_ISDIR(st.st_mode) ? "directory" : + S_ISLNK(st.st_mode) ? "symlink" : + "unknown" /* not supported, will fail! */); + + Value * args []{&arg1, &arg2}; + Value res; + state.callFunction(*filterFun, 2, args, res, pos); + + return state.forceBool(res, pos); + }) : defaultPathFilter; + + std::optional expectedStorePath; + if (expectedHash) + expectedStorePath = state.store->makeFixedOutputPath(method, *expectedHash, name); + + if (!expectedHash || !state.store->isValidPath(*expectedStorePath)) { + StorePath dstPath = settings.readOnlyMode + ? state.store->computeStorePathForPath(name, path, method, htSHA256, filter).first + : state.store->addToStore(name, path, method, htSHA256, filter, state.repair, refs); + if (expectedHash && expectedStorePath != dstPath) + state.debugThrowLastTrace(Error("store path mismatch in (possibly filtered) path added from '%s'", path)); + state.allowAndSetStorePathString(dstPath, v); + } else + state.allowAndSetStorePathString(*expectedStorePath, v); + } catch (Error & e) { + e.addTrace(state.positions[pos], "while adding path '%s'", path); + throw; + } +} + + +static void prim_filterSource(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + Path path = state.coerceToPath(pos, *args[1], context); + + state.forceValue(*args[0], pos); + if (args[0]->type() != nFunction) + state.debugThrowLastTrace(TypeError({ + .msg = hintfmt( + "first argument in call to 'filterSource' is not a function but %1%", + showType(*args[0])), + .errPos = state.positions[pos] + })); + + addPath(state, pos, std::string(baseNameOf(path)), path, args[0], FileIngestionMethod::Recursive, std::nullopt, v, context); +} + +static RegisterPrimOp primop_filterSource({ + .name = "__filterSource", + .args = {"e1", "e2"}, + .doc = R"( + > **Warning** + > + > `filterSource` should not be used to filter store paths. Since + > `filterSource` uses the name of the input directory while naming + > the output directory, doing so will produce a directory name in + > the form of `--`, where `-` is + > the name of the input directory. Since `` depends on the + > unfiltered directory, the name of the output directory will + > indirectly depend on files that are filtered out by the + > function. This will trigger a rebuild even when a filtered out + > file is changed. Use `builtins.path` instead, which allows + > specifying the name of the output directory. + + This function allows you to copy sources into the Nix store while + filtering certain files. For instance, suppose that you want to use + the directory `source-dir` as an input to a Nix expression, e.g. + + ```nix + stdenv.mkDerivation { + ... + src = ./source-dir; + } + ``` + + However, if `source-dir` is a Subversion working copy, then all + those annoying `.svn` subdirectories will also be copied to the + store. Worse, the contents of those directories may change a lot, + causing lots of spurious rebuilds. With `filterSource` you can + filter out the `.svn` directories: + + ```nix + src = builtins.filterSource + (path: type: type != "directory" || baseNameOf path != ".svn") + ./source-dir; + ``` + + Thus, the first argument *e1* must be a predicate function that is + called for each regular file, directory or symlink in the source + tree *e2*. If the function returns `true`, the file is copied to the + Nix store, otherwise it is omitted. The function is called with two + arguments. The first is the full path of the file. The second is a + string that identifies the type of the file, which is either + `"regular"`, `"directory"`, `"symlink"` or `"unknown"` (for other + kinds of files such as device nodes or fifos — but note that those + cannot be copied to the Nix store, so if the predicate returns + `true` for them, the copy will fail). If you exclude a directory, + the entire corresponding subtree of *e2* will be excluded. + )", + .fun = prim_filterSource, +}); + +static void prim_path(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + Path path; + std::string name; + Value * filterFun = nullptr; + auto method = FileIngestionMethod::Recursive; + std::optional expectedHash; + PathSet context; + + for (auto & attr : *args[0]->attrs) { + auto n = state.symbols[attr.name]; + if (n == "path") + path = state.coerceToPath(attr.pos, *attr.value, context); + else if (attr.name == state.sName) + name = state.forceStringNoCtx(*attr.value, attr.pos); + else if (n == "filter") { + state.forceValue(*attr.value, pos); + filterFun = attr.value; + } else if (n == "recursive") + method = FileIngestionMethod { state.forceBool(*attr.value, attr.pos) }; + else if (n == "sha256") + expectedHash = newHashAllowEmpty(state.forceStringNoCtx(*attr.value, attr.pos), htSHA256); + else + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("unsupported argument '%1%' to 'addPath'", state.symbols[attr.name]), + .errPos = state.positions[attr.pos] + })); + } + if (path.empty()) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("'path' required"), + .errPos = state.positions[pos] + })); + if (name.empty()) + name = baseNameOf(path); + + addPath(state, pos, name, path, filterFun, method, expectedHash, v, context); +} + +static RegisterPrimOp primop_path({ + .name = "__path", + .args = {"args"}, + .doc = R"( + An enrichment of the built-in path type, based on the attributes + present in *args*. All are optional except `path`: + + - path\ + The underlying path. + + - name\ + The name of the path when added to the store. This can used to + reference paths that have nix-illegal characters in their names, + like `@`. + + - filter\ + A function of the type expected by `builtins.filterSource`, + with the same semantics. + + - recursive\ + When `false`, when `path` is added to the store it is with a + flat hash, rather than a hash of the NAR serialization of the + file. Thus, `path` must refer to a regular file, not a + directory. This allows similar behavior to `fetchurl`. Defaults + to `true`. + + - sha256\ + When provided, this is the expected hash of the file at the + path. Evaluation will fail if the hash is incorrect, and + providing a hash allows `builtins.path` to be used even when the + `pure-eval` nix config option is on. + )", + .fun = prim_path, +}); + + +/************************************************************* + * Sets + *************************************************************/ + + +/* Return the names of the attributes in a set as a sorted list of + strings. */ +static void prim_attrNames(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + + state.mkList(v, args[0]->attrs->size()-2); + + const auto symbolTable = state.symbols; + size_t n = 0; + std::string staticId = "__id_static"; + std::string dynamicId = "__id_dynamic"; + for (nix::Attr & attr : *args[0]->attrs) { + const auto symbol = attr.name; + const auto name = std::string(symbolTable[symbol]); + if (name == staticId || name == dynamicId) { + continue; + } + (v.listElems()[n++] = state.allocValue())->mkString(state.symbols[attr.name]); + } + + std::sort(v.listElems(), v.listElems() + n, + [](Value * v1, Value * v2) { return strcmp(v1->string.s, v2->string.s) < 0; }); +} + +static RegisterPrimOp primop_attrNames({ + .name = "__attrNames", + .args = {"set"}, + .doc = R"( + Return the names of the attributes in the set *set* in an + alphabetically sorted list. For instance, `builtins.attrNames { y + = 1; x = "foo"; }` evaluates to `[ "x" "y" ]`. + )", + .fun = prim_attrNames, +}); + +/* Return the values of the attributes in a set as a list, in the same + order as attrNames. */ +static void prim_attrValues(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + + state.mkList(v, args[0]->attrs->size()-2); + + unsigned int n = 0; + const auto symbolTable = state.symbols; + const std::string staticId = "__id_static"; + const std::string dynamicId = "__id_dynamic"; + for (nix::Attr & attr : *args[0]->attrs) { + const auto symbol = attr.name; + const auto name = std::string(symbolTable[symbol]); + if (name == staticId || name == dynamicId) { + continue; + } + v.listElems()[n++] = (Value *) &attr; + } + std::sort(v.listElems(), v.listElems() + n, + [&](Value * v1, Value * v2) { + std::string_view s1 = state.symbols[((Attr *) v1)->name], + s2 = state.symbols[((Attr *) v2)->name]; + return s1 < s2; + }); + + for (unsigned int i = 0; i < n; ++i) + v.listElems()[i] = ((Attr *) v.listElems()[i])->value; +} + +static RegisterPrimOp primop_attrValues({ + .name = "__attrValues", + .args = {"set"}, + .doc = R"( + Return the values of the attributes in the set *set* in the order + corresponding to the sorted attribute names. + )", + .fun = prim_attrValues, +}); + +/* Dynamic version of the `.' operator. */ +void prim_getAttr(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto attr = state.forceStringNoCtx(*args[0], pos); + state.forceAttrs(*args[1], pos); + Bindings::iterator i = getAttr( + state, + "getAttr", + state.symbols.create(attr), + args[1]->attrs, + pos + ); + // !!! add to stack trace? + if (state.countCalls && i->pos) state.attrSelects[i->pos]++; + state.forceValue(*i->value, pos); + v = *i->value; +} + +static RegisterPrimOp primop_getAttr({ + .name = "__getAttr", + .args = {"s", "set"}, + .doc = R"( + `getAttr` returns the attribute named *s* from *set*. Evaluation + aborts if the attribute doesn’t exist. This is a dynamic version of + the `.` operator, since *s* is an expression rather than an + identifier. + )", + .fun = prim_getAttr, +}); + +/* Return position information of the specified attribute. */ +static void prim_unsafeGetAttrPos(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto attr = state.forceStringNoCtx(*args[0], pos); + state.forceAttrs(*args[1], pos); + Bindings::iterator i = args[1]->attrs->find(state.symbols.create(attr)); + if (i == args[1]->attrs->end()) + v.mkNull(); + else + state.mkPos(v, i->pos); +} + +static RegisterPrimOp primop_unsafeGetAttrPos(RegisterPrimOp::Info { + .name = "__unsafeGetAttrPos", + .arity = 2, + .fun = prim_unsafeGetAttrPos, +}); + +/* Dynamic version of the `?' operator. */ +static void prim_hasAttr(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto attr = state.forceStringNoCtx(*args[0], pos); + state.forceAttrs(*args[1], pos); + v.mkBool(args[1]->attrs->find(state.symbols.create(attr)) != args[1]->attrs->end()); +} + +static RegisterPrimOp primop_hasAttr({ + .name = "__hasAttr", + .args = {"s", "set"}, + .doc = R"( + `hasAttr` returns `true` if *set* has an attribute named *s*, and + `false` otherwise. This is a dynamic version of the `?` operator, + since *s* is an expression rather than an identifier. + )", + .fun = prim_hasAttr, +}); + +/* Determine whether the argument is a set. */ +static void prim_isAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nAttrs); +} + +static RegisterPrimOp primop_isAttrs({ + .name = "__isAttrs", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a set, and `false` otherwise. + )", + .fun = prim_isAttrs, +}); + +static void prim_removeAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + state.forceList(*args[1], pos); + + /* Get the attribute names to be removed. + We keep them as Attrs instead of Symbols so std::set_difference + can be used to remove them from attrs[0]. */ + boost::container::small_vector names; + names.reserve(args[1]->listSize()); + for (auto elem : args[1]->listItems()) { + state.forceStringNoCtx(*elem, pos); + names.emplace_back(state.symbols.create(elem->string.s), nullptr); + } + std::sort(names.begin(), names.end()); + + /* Copy all attributes not in that set. Note that we don't need + to sort v.attrs because it's a subset of an already sorted + vector. */ + auto attrs = state.buildBindings(args[0]->attrs->size()); + std::set_difference( + args[0]->attrs->begin(), args[0]->attrs->end(), + names.begin(), names.end(), + std::back_inserter(attrs)); + v.mkAttrs(attrs.alreadySorted()); +} + +static RegisterPrimOp primop_removeAttrs({ + .name = "removeAttrs", + .args = {"set", "list"}, + .doc = R"( + Remove the attributes listed in *list* from *set*. The attributes + don’t have to exist in *set*. For instance, + + ```nix + removeAttrs { x = 1; y = 2; z = 3; } [ "a" "x" "z" ] + ``` + + evaluates to `{ y = 2; }`. + )", + .fun = prim_removeAttrs, +}); + +/* Builds a set from a list specifying (name, value) pairs. To be + precise, a list [{name = "name1"; value = value1;} ... {name = + "nameN"; value = valueN;}] is transformed to {name1 = value1; + ... nameN = valueN;}. In case of duplicate occurrences of the same + name, the first takes precedence. */ +static void prim_listToAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + + auto attrs = state.buildBindings(args[0]->listSize()); + + std::set seen; + + for (auto v2 : args[0]->listItems()) { + state.forceAttrs(*v2, pos); + + Bindings::iterator j = getAttr( + state, + "listToAttrs", + state.sName, + v2->attrs, + pos + ); + + auto name = state.forceStringNoCtx(*j->value, j->pos); + + auto sym = state.symbols.create(name); + if (seen.insert(sym).second) { + Bindings::iterator j2 = getAttr( + state, + "listToAttrs", + state.sValue, + v2->attrs, + pos + ); + attrs.insert(sym, j2->value, j2->pos); + } + } + + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_listToAttrs({ + .name = "__listToAttrs", + .args = {"e"}, + .doc = R"( + Construct a set from a list specifying the names and values of each + attribute. Each element of the list should be a set consisting of a + string-valued attribute `name` specifying the name of the attribute, + and an attribute `value` specifying its value. Example: + + ```nix + builtins.listToAttrs + [ { name = "foo"; value = 123; } + { name = "bar"; value = 456; } + ] + ``` + + evaluates to + + ```nix + { foo = 123; bar = 456; } + ``` + )", + .fun = prim_listToAttrs, +}); + +static void prim_intersectAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[0], pos); + state.forceAttrs(*args[1], pos); + + auto attrs = state.buildBindings(std::min(args[0]->attrs->size(), args[1]->attrs->size())); + + for (auto & i : *args[0]->attrs) { + Bindings::iterator j = args[1]->attrs->find(i.name); + if (j != args[1]->attrs->end()) + attrs.insert(*j); + } + + v.mkAttrs(attrs.alreadySorted()); +} + +static RegisterPrimOp primop_intersectAttrs({ + .name = "__intersectAttrs", + .args = {"e1", "e2"}, + .doc = R"( + Return a set consisting of the attributes in the set *e2* that also + exist in the set *e1*. + )", + .fun = prim_intersectAttrs, +}); + +static void prim_catAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto attrName = state.symbols.create(state.forceStringNoCtx(*args[0], pos)); + state.forceList(*args[1], pos); + + Value * res[args[1]->listSize()]; + unsigned int found = 0; + + for (auto v2 : args[1]->listItems()) { + state.forceAttrs(*v2, pos); + Bindings::iterator i = v2->attrs->find(attrName); + if (i != v2->attrs->end()) + res[found++] = i->value; + } + + state.mkList(v, found); + for (unsigned int n = 0; n < found; ++n) + v.listElems()[n] = res[n]; +} + +static RegisterPrimOp primop_catAttrs({ + .name = "__catAttrs", + .args = {"attr", "list"}, + .doc = R"( + Collect each attribute named *attr* from a list of attribute + sets. Attrsets that don't contain the named attribute are + ignored. For example, + + ```nix + builtins.catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}] + ``` + + evaluates to `[1 2]`. + )", + .fun = prim_catAttrs, +}); + +static void prim_functionArgs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + if (args[0]->isPrimOpApp() || args[0]->isPrimOp()) { + v.mkAttrs(&state.emptyBindings); + return; + } + if (!args[0]->isLambda()) + state.debugThrowLastTrace(TypeError({ + .msg = hintfmt("'functionArgs' requires a function"), + .errPos = state.positions[pos] + })); + + if (!args[0]->lambda.fun->hasFormals()) { + v.mkAttrs(&state.emptyBindings); + return; + } + + auto attrs = state.buildBindings(args[0]->lambda.fun->formals->formals.size()); + for (auto & i : args[0]->lambda.fun->formals->formals) + // !!! should optimise booleans (allocate only once) + attrs.alloc(i.name, i.pos).mkBool(i.def); + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_functionArgs({ + .name = "__functionArgs", + .args = {"f"}, + .doc = R"( + Return a set containing the names of the formal arguments expected + by the function *f*. The value of each attribute is a Boolean + denoting whether the corresponding argument has a default value. For + instance, `functionArgs ({ x, y ? 123}: ...) = { x = false; y = + true; }`. + + "Formal argument" here refers to the attributes pattern-matched by + the function. Plain lambdas are not included, e.g. `functionArgs (x: + ...) = { }`. + )", + .fun = prim_functionArgs, +}); + +/* */ +static void prim_mapAttrs(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceAttrs(*args[1], pos); + + auto attrs = state.buildBindings(args[1]->attrs->size()); + + for (auto & i : *args[1]->attrs) { + Value * vName = state.allocValue(); + Value * vFun2 = state.allocValue(); + vName->mkString(state.symbols[i.name]); + vFun2->mkApp(args[0], vName); + attrs.alloc(i.name).mkApp(vFun2, i.value); + } + + v.mkAttrs(attrs.alreadySorted()); +} + +static RegisterPrimOp primop_mapAttrs({ + .name = "__mapAttrs", + .args = {"f", "attrset"}, + .doc = R"( + Apply function *f* to every element of *attrset*. For example, + + ```nix + builtins.mapAttrs (name: value: value * 10) { a = 1; b = 2; } + ``` + + evaluates to `{ a = 10; b = 20; }`. + )", + .fun = prim_mapAttrs, +}); + +static void prim_zipAttrsWith(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + // we will first count how many values are present for each given key. + // we then allocate a single attrset and pre-populate it with lists of + // appropriate sizes, stash the pointers to the list elements of each, + // and populate the lists. after that we replace the list in the every + // attribute with the merge function application. this way we need not + // use (slightly slower) temporary storage the GC does not know about. + + std::map> attrsSeen; + + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + const auto listSize = args[1]->listSize(); + const auto listElems = args[1]->listElems(); + + for (unsigned int n = 0; n < listSize; ++n) { + Value * vElem = listElems[n]; + try { + state.forceAttrs(*vElem, noPos); + for (auto & attr : *vElem->attrs) + attrsSeen[attr.name].first++; + } catch (TypeError & e) { + e.addTrace(state.positions[pos], hintfmt("while invoking '%s'", "zipAttrsWith")); + state.debugThrowLastTrace(e); + } + } + + auto attrs = state.buildBindings(attrsSeen.size()); + for (auto & [sym, elem] : attrsSeen) { + auto & list = attrs.alloc(sym); + state.mkList(list, elem.first); + elem.second = list.listElems(); + } + v.mkAttrs(attrs.alreadySorted()); + + for (unsigned int n = 0; n < listSize; ++n) { + Value * vElem = listElems[n]; + for (auto & attr : *vElem->attrs) + *attrsSeen[attr.name].second++ = attr.value; + } + + for (auto & attr : *v.attrs) { + auto name = state.allocValue(); + name->mkString(state.symbols[attr.name]); + auto call1 = state.allocValue(); + call1->mkApp(args[0], name); + auto call2 = state.allocValue(); + call2->mkApp(call1, attr.value); + attr.value = call2; + } +} + +static RegisterPrimOp primop_zipAttrsWith({ + .name = "__zipAttrsWith", + .args = {"f", "list"}, + .doc = R"( + Transpose a list of attribute sets into an attribute set of lists, + then apply `mapAttrs`. + + `f` receives two arguments: the attribute name and a non-empty + list of all values encountered for that attribute name. + + The result is an attribute set where the attribute names are the + union of the attribute names in each element of `list`. The attribute + values are the return values of `f`. + + ```nix + builtins.zipAttrsWith + (name: values: { inherit name values; }) + [ { a = "x"; } { a = "y"; b = "z"; } ] + ``` + + evaluates to + + ``` + { + a = { name = "a"; values = [ "x" "y" ]; }; + b = { name = "b"; values = [ "z" ]; }; + } + ``` + )", + .fun = prim_zipAttrsWith, +}); + + +/************************************************************* + * Lists + *************************************************************/ + + +/* Determine whether the argument is a list. */ +static void prim_isList(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + v.mkBool(args[0]->type() == nList); +} + +static RegisterPrimOp primop_isList({ + .name = "__isList", + .args = {"e"}, + .doc = R"( + Return `true` if *e* evaluates to a list, and `false` otherwise. + )", + .fun = prim_isList, +}); + +static void elemAt(EvalState & state, const PosIdx pos, Value & list, int n, Value & v) +{ + state.forceList(list, pos); + if (n < 0 || (unsigned int) n >= list.listSize()) + state.debugThrowLastTrace(Error({ + .msg = hintfmt("list index %1% is out of bounds", n), + .errPos = state.positions[pos] + })); + state.forceValue(*list.listElems()[n], pos); + v = *list.listElems()[n]; +} + +/* Return the n-1'th element of a list. */ +static void prim_elemAt(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + elemAt(state, pos, *args[0], state.forceInt(*args[1], pos), v); +} + +static RegisterPrimOp primop_elemAt({ + .name = "__elemAt", + .args = {"xs", "n"}, + .doc = R"( + Return element *n* from the list *xs*. Elements are counted starting + from 0. A fatal error occurs if the index is out of bounds. + )", + .fun = prim_elemAt, +}); + +/* Return the first element of a list. */ +static void prim_head(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + elemAt(state, pos, *args[0], 0, v); +} + +static RegisterPrimOp primop_head({ + .name = "__head", + .args = {"list"}, + .doc = R"( + Return the first element of a list; abort evaluation if the argument + isn’t a list or is an empty list. You can test whether a list is + empty by comparing it with `[]`. + )", + .fun = prim_head, +}); + +/* Return a list consisting of everything but the first element of + a list. Warning: this function takes O(n) time, so you probably + don't want to use it! */ +static void prim_tail(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + if (args[0]->listSize() == 0) + state.debugThrowLastTrace(Error({ + .msg = hintfmt("'tail' called on an empty list"), + .errPos = state.positions[pos] + })); + + state.mkList(v, args[0]->listSize() - 1); + for (unsigned int n = 0; n < v.listSize(); ++n) + v.listElems()[n] = args[0]->listElems()[n + 1]; +} + +static RegisterPrimOp primop_tail({ + .name = "__tail", + .args = {"list"}, + .doc = R"( + Return the second to last elements of a list; abort evaluation if + the argument isn’t a list or is an empty list. + + > **Warning** + > + > This function should generally be avoided since it's inefficient: + > unlike Haskell's `tail`, it takes O(n) time, so recursing over a + > list by repeatedly calling `tail` takes O(n^2) time. + )", + .fun = prim_tail, +}); + +/* Apply a function to every element of a list. */ +static void prim_map(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[1], pos); + + state.mkList(v, args[1]->listSize()); + + for (unsigned int n = 0; n < v.listSize(); ++n) + (v.listElems()[n] = state.allocValue())->mkApp( + args[0], args[1]->listElems()[n]); +} + +static RegisterPrimOp primop_map({ + .name = "map", + .args = {"f", "list"}, + .doc = R"( + Apply the function *f* to each element in the list *list*. For + example, + + ```nix + map (x: "foo" + x) [ "bar" "bla" "abc" ] + ``` + + evaluates to `[ "foobar" "foobla" "fooabc" ]`. + )", + .fun = prim_map, +}); + +/* Filter a list using a predicate; that is, return a list containing + every element from the list for which the predicate function + returns true. */ +static void prim_filter(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + + // FIXME: putting this on the stack is risky. + Value * vs[args[1]->listSize()]; + unsigned int k = 0; + + bool same = true; + for (unsigned int n = 0; n < args[1]->listSize(); ++n) { + Value res; + state.callFunction(*args[0], *args[1]->listElems()[n], res, noPos); + if (state.forceBool(res, pos)) + vs[k++] = args[1]->listElems()[n]; + else + same = false; + } + + if (same) + v = *args[1]; + else { + state.mkList(v, k); + for (unsigned int n = 0; n < k; ++n) v.listElems()[n] = vs[n]; + } +} + +static RegisterPrimOp primop_filter({ + .name = "__filter", + .args = {"f", "list"}, + .doc = R"( + Return a list consisting of the elements of *list* for which the + function *f* returns `true`. + )", + .fun = prim_filter, +}); + +/* Return true if a list contains a given element. */ +static void prim_elem(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + bool res = false; + state.forceList(*args[1], pos); + for (auto elem : args[1]->listItems()) + if (state.eqValues(*args[0], *elem)) { + res = true; + break; + } + v.mkBool(res); +} + +static RegisterPrimOp primop_elem({ + .name = "__elem", + .args = {"x", "xs"}, + .doc = R"( + Return `true` if a value equal to *x* occurs in the list *xs*, and + `false` otherwise. + )", + .fun = prim_elem, +}); + +/* Concatenate a list of lists. */ +static void prim_concatLists(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + state.concatLists(v, args[0]->listSize(), args[0]->listElems(), pos); +} + +static RegisterPrimOp primop_concatLists({ + .name = "__concatLists", + .args = {"lists"}, + .doc = R"( + Concatenate a list of lists into a single list. + )", + .fun = prim_concatLists, +}); + +/* Return the length of a list. This is an O(1) time operation. */ +static void prim_length(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + v.mkInt(args[0]->listSize()); +} + +static RegisterPrimOp primop_length({ + .name = "__length", + .args = {"e"}, + .doc = R"( + Return the length of the list *e*. + )", + .fun = prim_length, +}); + +/* Reduce a list by applying a binary operator, from left to + right. The operator is applied strictly. */ +static void prim_foldlStrict(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[2], pos); + + if (args[2]->listSize()) { + Value * vCur = args[1]; + + for (auto [n, elem] : enumerate(args[2]->listItems())) { + Value * vs []{vCur, elem}; + vCur = n == args[2]->listSize() - 1 ? &v : state.allocValue(); + state.callFunction(*args[0], 2, vs, *vCur, pos); + } + state.forceValue(v, pos); + } else { + state.forceValue(*args[1], pos); + v = *args[1]; + } +} + +static RegisterPrimOp primop_foldlStrict({ + .name = "__foldl'", + .args = {"op", "nul", "list"}, + .doc = R"( + Reduce a list by applying a binary operator, from left to right, + e.g. `foldl' op nul [x0 x1 x2 ...] = op (op (op nul x0) x1) x2) + ...`. The operator is applied strictly, i.e., its arguments are + evaluated first. For example, `foldl' (x: y: x + y) 0 [1 2 3]` + evaluates to 6. + )", + .fun = prim_foldlStrict, +}); + +static void anyOrAll(bool any, EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + + Value vTmp; + for (auto elem : args[1]->listItems()) { + state.callFunction(*args[0], *elem, vTmp, pos); + bool res = state.forceBool(vTmp, pos); + if (res == any) { + v.mkBool(any); + return; + } + } + + v.mkBool(!any); +} + + +static void prim_any(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + anyOrAll(true, state, pos, args, v); +} + +static RegisterPrimOp primop_any({ + .name = "__any", + .args = {"pred", "list"}, + .doc = R"( + Return `true` if the function *pred* returns `true` for at least one + element of *list*, and `false` otherwise. + )", + .fun = prim_any, +}); + +static void prim_all(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + anyOrAll(false, state, pos, args, v); +} + +static RegisterPrimOp primop_all({ + .name = "__all", + .args = {"pred", "list"}, + .doc = R"( + Return `true` if the function *pred* returns `true` for all elements + of *list*, and `false` otherwise. + )", + .fun = prim_all, +}); + +static void prim_genList(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto len = state.forceInt(*args[1], pos); + + if (len < 0) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("cannot create list of size %1%", len), + .errPos = state.positions[pos] + })); + + state.mkList(v, len); + + for (unsigned int n = 0; n < (unsigned int) len; ++n) { + auto arg = state.allocValue(); + arg->mkInt(n); + (v.listElems()[n] = state.allocValue())->mkApp(args[0], arg); + } +} + +static RegisterPrimOp primop_genList({ + .name = "__genList", + .args = {"generator", "length"}, + .doc = R"( + Generate list of size *length*, with each element *i* equal to the + value returned by *generator* `i`. For example, + + ```nix + builtins.genList (x: x * x) 5 + ``` + + returns the list `[ 0 1 4 9 16 ]`. + )", + .fun = prim_genList, +}); + +static void prim_lessThan(EvalState & state, const PosIdx pos, Value * * args, Value & v); + + +static void prim_sort(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + + auto len = args[1]->listSize(); + state.mkList(v, len); + for (unsigned int n = 0; n < len; ++n) { + state.forceValue(*args[1]->listElems()[n], pos); + v.listElems()[n] = args[1]->listElems()[n]; + } + + auto comparator = [&](Value * a, Value * b) { + /* Optimization: if the comparator is lessThan, bypass + callFunction. */ + if (args[0]->isPrimOp() && args[0]->primOp->fun == prim_lessThan) + return CompareValues(state)(a, b); + + Value * vs[] = {a, b}; + Value vBool; + state.callFunction(*args[0], 2, vs, vBool, pos); + return state.forceBool(vBool, pos); + }; + + /* FIXME: std::sort can segfault if the comparator is not a strict + weak ordering. What to do? std::stable_sort() seems more + resilient, but no guarantees... */ + std::stable_sort(v.listElems(), v.listElems() + len, comparator); +} + +static RegisterPrimOp primop_sort({ + .name = "__sort", + .args = {"comparator", "list"}, + .doc = R"( + Return *list* in sorted order. It repeatedly calls the function + *comparator* with two elements. The comparator should return `true` + if the first element is less than the second, and `false` otherwise. + For example, + + ```nix + builtins.sort builtins.lessThan [ 483 249 526 147 42 77 ] + ``` + + produces the list `[ 42 77 147 249 483 526 ]`. + + This is a stable sort: it preserves the relative order of elements + deemed equal by the comparator. + )", + .fun = prim_sort, +}); + +static void prim_partition(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + + auto len = args[1]->listSize(); + + ValueVector right, wrong; + + for (unsigned int n = 0; n < len; ++n) { + auto vElem = args[1]->listElems()[n]; + state.forceValue(*vElem, pos); + Value res; + state.callFunction(*args[0], *vElem, res, pos); + if (state.forceBool(res, pos)) + right.push_back(vElem); + else + wrong.push_back(vElem); + } + + auto attrs = state.buildBindings(2); + + auto & vRight = attrs.alloc(state.sRight); + auto rsize = right.size(); + state.mkList(vRight, rsize); + if (rsize) + memcpy(vRight.listElems(), right.data(), sizeof(Value *) * rsize); + + auto & vWrong = attrs.alloc(state.sWrong); + auto wsize = wrong.size(); + state.mkList(vWrong, wsize); + if (wsize) + memcpy(vWrong.listElems(), wrong.data(), sizeof(Value *) * wsize); + + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_partition({ + .name = "__partition", + .args = {"pred", "list"}, + .doc = R"( + Given a predicate function *pred*, this function returns an + attrset containing a list named `right`, containing the elements + in *list* for which *pred* returned `true`, and a list named + `wrong`, containing the elements for which it returned + `false`. For example, + + ```nix + builtins.partition (x: x > 10) [1 23 9 3 42] + ``` + + evaluates to + + ```nix + { right = [ 23 42 ]; wrong = [ 1 9 3 ]; } + ``` + )", + .fun = prim_partition, +}); + +static void prim_groupBy(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + + ValueVectorMap attrs; + + for (auto vElem : args[1]->listItems()) { + Value res; + state.callFunction(*args[0], *vElem, res, pos); + auto name = state.forceStringNoCtx(res, pos); + auto sym = state.symbols.create(name); + auto vector = attrs.try_emplace(sym, ValueVector()).first; + vector->second.push_back(vElem); + } + + auto attrs2 = state.buildBindings(attrs.size()); + + for (auto & i : attrs) { + auto & list = attrs2.alloc(i.first); + auto size = i.second.size(); + state.mkList(list, size); + memcpy(list.listElems(), i.second.data(), sizeof(Value *) * size); + } + + v.mkAttrs(attrs2.alreadySorted()); +} + +static RegisterPrimOp primop_groupBy({ + .name = "__groupBy", + .args = {"f", "list"}, + .doc = R"( + Groups elements of *list* together by the string returned from the + function *f* called on each element. It returns an attribute set + where each attribute value contains the elements of *list* that are + mapped to the same corresponding attribute name returned by *f*. + + For example, + + ```nix + builtins.groupBy (builtins.substring 0 1) ["foo" "bar" "baz"] + ``` + + evaluates to + + ```nix + { b = [ "bar" "baz" ]; f = [ "foo" ]; } + ``` + )", + .fun = prim_groupBy, +}); + +static void prim_concatMap(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceFunction(*args[0], pos); + state.forceList(*args[1], pos); + auto nrLists = args[1]->listSize(); + + Value lists[nrLists]; + size_t len = 0; + + for (unsigned int n = 0; n < nrLists; ++n) { + Value * vElem = args[1]->listElems()[n]; + state.callFunction(*args[0], *vElem, lists[n], pos); + try { + state.forceList(lists[n], lists[n].determinePos(args[0]->determinePos(pos))); + } catch (TypeError &e) { + e.addTrace(state.positions[pos], hintfmt("while invoking '%s'", "concatMap")); + state.debugThrowLastTrace(e); + } + len += lists[n].listSize(); + } + + state.mkList(v, len); + auto out = v.listElems(); + for (unsigned int n = 0, pos = 0; n < nrLists; ++n) { + auto l = lists[n].listSize(); + if (l) + memcpy(out + pos, lists[n].listElems(), l * sizeof(Value *)); + pos += l; + } +} + +static RegisterPrimOp primop_concatMap({ + .name = "__concatMap", + .args = {"f", "list"}, + .doc = R"( + This function is equivalent to `builtins.concatLists (map f list)` + but is more efficient. + )", + .fun = prim_concatMap, +}); + + +/************************************************************* + * Integer arithmetic + *************************************************************/ + + +static void prim_add(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + if (args[0]->type() == nFloat || args[1]->type() == nFloat) + v.mkFloat(state.forceFloat(*args[0], pos) + state.forceFloat(*args[1], pos)); + else + v.mkInt(state.forceInt(*args[0], pos) + state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_add({ + .name = "__add", + .args = {"e1", "e2"}, + .doc = R"( + Return the sum of the numbers *e1* and *e2*. + )", + .fun = prim_add, +}); + +static void prim_sub(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + if (args[0]->type() == nFloat || args[1]->type() == nFloat) + v.mkFloat(state.forceFloat(*args[0], pos) - state.forceFloat(*args[1], pos)); + else + v.mkInt(state.forceInt(*args[0], pos) - state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_sub({ + .name = "__sub", + .args = {"e1", "e2"}, + .doc = R"( + Return the difference between the numbers *e1* and *e2*. + )", + .fun = prim_sub, +}); + +static void prim_mul(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + if (args[0]->type() == nFloat || args[1]->type() == nFloat) + v.mkFloat(state.forceFloat(*args[0], pos) * state.forceFloat(*args[1], pos)); + else + v.mkInt(state.forceInt(*args[0], pos) * state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_mul({ + .name = "__mul", + .args = {"e1", "e2"}, + .doc = R"( + Return the product of the numbers *e1* and *e2*. + )", + .fun = prim_mul, +}); + +static void prim_div(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + + NixFloat f2 = state.forceFloat(*args[1], pos); + if (f2 == 0) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("division by zero"), + .errPos = state.positions[pos] + })); + + if (args[0]->type() == nFloat || args[1]->type() == nFloat) { + v.mkFloat(state.forceFloat(*args[0], pos) / state.forceFloat(*args[1], pos)); + } else { + NixInt i1 = state.forceInt(*args[0], pos); + NixInt i2 = state.forceInt(*args[1], pos); + /* Avoid division overflow as it might raise SIGFPE. */ + if (i1 == std::numeric_limits::min() && i2 == -1) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("overflow in integer division"), + .errPos = state.positions[pos] + })); + + v.mkInt(i1 / i2); + } +} + +static RegisterPrimOp primop_div({ + .name = "__div", + .args = {"e1", "e2"}, + .doc = R"( + Return the quotient of the numbers *e1* and *e2*. + )", + .fun = prim_div, +}); + +static void prim_bitAnd(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + v.mkInt(state.forceInt(*args[0], pos) & state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_bitAnd({ + .name = "__bitAnd", + .args = {"e1", "e2"}, + .doc = R"( + Return the bitwise AND of the integers *e1* and *e2*. + )", + .fun = prim_bitAnd, +}); + +static void prim_bitOr(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + v.mkInt(state.forceInt(*args[0], pos) | state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_bitOr({ + .name = "__bitOr", + .args = {"e1", "e2"}, + .doc = R"( + Return the bitwise OR of the integers *e1* and *e2*. + )", + .fun = prim_bitOr, +}); + +static void prim_bitXor(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + v.mkInt(state.forceInt(*args[0], pos) ^ state.forceInt(*args[1], pos)); +} + +static RegisterPrimOp primop_bitXor({ + .name = "__bitXor", + .args = {"e1", "e2"}, + .doc = R"( + Return the bitwise XOR of the integers *e1* and *e2*. + )", + .fun = prim_bitXor, +}); + +static void prim_lessThan(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceValue(*args[0], pos); + state.forceValue(*args[1], pos); + CompareValues comp{state}; + v.mkBool(comp(args[0], args[1])); +} + +static RegisterPrimOp primop_lessThan({ + .name = "__lessThan", + .args = {"e1", "e2"}, + .doc = R"( + Return `true` if the number *e1* is less than the number *e2*, and + `false` otherwise. Evaluation aborts if either *e1* or *e2* does not + evaluate to a number. + )", + .fun = prim_lessThan, +}); + + +/************************************************************* + * String manipulation + *************************************************************/ + + +/* Convert the argument to a string. Paths are *not* copied to the + store, so `toString /foo/bar' yields `"/foo/bar"', not + `"/nix/store/whatever..."'. */ +static void prim_toString(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + auto s = state.coerceToString(pos, *args[0], context, true, false); + v.mkString(*s, context); +} + +static RegisterPrimOp primop_toString({ + .name = "toString", + .args = {"e"}, + .doc = R"( + Convert the expression *e* to a string. *e* can be: + + - A string (in which case the string is returned unmodified). + + - A path (e.g., `toString /foo/bar` yields `"/foo/bar"`. + + - A set containing `{ __toString = self: ...; }` or `{ outPath = ...; }`. + + - An integer. + + - A list, in which case the string representations of its elements + are joined with spaces. + + - A Boolean (`false` yields `""`, `true` yields `"1"`). + + - `null`, which yields the empty string. + )", + .fun = prim_toString, +}); + +/* `substring start len str' returns the substring of `str' starting + at character position `min(start, stringLength str)' inclusive and + ending at `min(start + len, stringLength str)'. `start' must be + non-negative. */ +static void prim_substring(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + int start = state.forceInt(*args[0], pos); + int len = state.forceInt(*args[1], pos); + PathSet context; + auto s = state.coerceToString(pos, *args[2], context); + + if (start < 0) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("negative start position in 'substring'"), + .errPos = state.positions[pos] + })); + + v.mkString((unsigned int) start >= s->size() ? "" : s->substr(start, len), context); +} + +static RegisterPrimOp primop_substring({ + .name = "__substring", + .args = {"start", "len", "s"}, + .doc = R"( + Return the substring of *s* from character position *start* + (zero-based) up to but not including *start + len*. If *start* is + greater than the length of the string, an empty string is returned, + and if *start + len* lies beyond the end of the string, only the + substring up to the end of the string is returned. *start* must be + non-negative. For example, + + ```nix + builtins.substring 0 3 "nixos" + ``` + + evaluates to `"nix"`. + )", + .fun = prim_substring, +}); + +static void prim_stringLength(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + auto s = state.coerceToString(pos, *args[0], context); + v.mkInt(s->size()); +} + +static RegisterPrimOp primop_stringLength({ + .name = "__stringLength", + .args = {"e"}, + .doc = R"( + Return the length of the string *e*. If *e* is not a string, + evaluation is aborted. + )", + .fun = prim_stringLength, +}); + +/* Return the cryptographic hash of a string in base-16. */ +static void prim_hashString(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto type = state.forceStringNoCtx(*args[0], pos); + std::optional ht = parseHashType(type); + if (!ht) + state.debugThrowLastTrace(Error({ + .msg = hintfmt("unknown hash type '%1%'", type), + .errPos = state.positions[pos] + })); + + PathSet context; // discarded + auto s = state.forceString(*args[1], context, pos); + + v.mkString(hashString(*ht, s).to_string(Base16, false)); +} + +static RegisterPrimOp primop_hashString({ + .name = "__hashString", + .args = {"type", "s"}, + .doc = R"( + Return a base-16 representation of the cryptographic hash of string + *s*. The hash algorithm specified by *type* must be one of `"md5"`, + `"sha1"`, `"sha256"` or `"sha512"`. + )", + .fun = prim_hashString, +}); + +struct RegexCache +{ + // TODO use C++20 transparent comparison when available + std::unordered_map cache; + std::list keys; + + std::regex get(std::string_view re) + { + auto it = cache.find(re); + if (it != cache.end()) + return it->second; + keys.emplace_back(re); + return cache.emplace(keys.back(), std::regex(keys.back(), std::regex::extended)).first->second; + } +}; + +std::shared_ptr makeRegexCache() +{ + return std::make_shared(); +} + +void prim_match(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto re = state.forceStringNoCtx(*args[0], pos); + + try { + + auto regex = state.regexCache->get(re); + + PathSet context; + const auto str = state.forceString(*args[1], context, pos); + + std::cmatch match; + if (!std::regex_match(str.begin(), str.end(), match, regex)) { + v.mkNull(); + return; + } + + // the first match is the whole string + const size_t len = match.size() - 1; + state.mkList(v, len); + for (size_t i = 0; i < len; ++i) { + if (!match[i+1].matched) + (v.listElems()[i] = state.allocValue())->mkNull(); + else + (v.listElems()[i] = state.allocValue())->mkString(match[i + 1].str()); + } + + } catch (std::regex_error & e) { + if (e.code() == std::regex_constants::error_space) { + // limit is _GLIBCXX_REGEX_STATE_LIMIT for libstdc++ + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("memory limit exceeded by regular expression '%s'", re), + .errPos = state.positions[pos] + })); + } else + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("invalid regular expression '%s'", re), + .errPos = state.positions[pos] + })); + } +} + +static RegisterPrimOp primop_match({ + .name = "__match", + .args = {"regex", "str"}, + .doc = R"s( + Returns a list if the [extended POSIX regular + expression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04) + *regex* matches *str* precisely, otherwise returns `null`. Each item + in the list is a regex group. + + ```nix + builtins.match "ab" "abc" + ``` + + Evaluates to `null`. + + ```nix + builtins.match "abc" "abc" + ``` + + Evaluates to `[ ]`. + + ```nix + builtins.match "a(b)(c)" "abc" + ``` + + Evaluates to `[ "b" "c" ]`. + + ```nix + builtins.match "[[:space:]]+([[:upper:]]+)[[:space:]]+" " FOO " + ``` + + Evaluates to `[ "FOO" ]`. + )s", + .fun = prim_match, +}); + +/* Split a string with a regular expression, and return a list of the + non-matching parts interleaved by the lists of the matching groups. */ +void prim_split(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto re = state.forceStringNoCtx(*args[0], pos); + + try { + + auto regex = state.regexCache->get(re); + + PathSet context; + const auto str = state.forceString(*args[1], context, pos); + + auto begin = std::cregex_iterator(str.begin(), str.end(), regex); + auto end = std::cregex_iterator(); + + // Any matches results are surrounded by non-matching results. + const size_t len = std::distance(begin, end); + state.mkList(v, 2 * len + 1); + size_t idx = 0; + + if (len == 0) { + v.listElems()[idx++] = args[1]; + return; + } + + for (auto i = begin; i != end; ++i) { + assert(idx <= 2 * len + 1 - 3); + auto match = *i; + + // Add a string for non-matched characters. + (v.listElems()[idx++] = state.allocValue())->mkString(match.prefix().str()); + + // Add a list for matched substrings. + const size_t slen = match.size() - 1; + auto elem = v.listElems()[idx++] = state.allocValue(); + + // Start at 1, beacause the first match is the whole string. + state.mkList(*elem, slen); + for (size_t si = 0; si < slen; ++si) { + if (!match[si + 1].matched) + (elem->listElems()[si] = state.allocValue())->mkNull(); + else + (elem->listElems()[si] = state.allocValue())->mkString(match[si + 1].str()); + } + + // Add a string for non-matched suffix characters. + if (idx == 2 * len) + (v.listElems()[idx++] = state.allocValue())->mkString(match.suffix().str()); + } + + assert(idx == 2 * len + 1); + + } catch (std::regex_error & e) { + if (e.code() == std::regex_constants::error_space) { + // limit is _GLIBCXX_REGEX_STATE_LIMIT for libstdc++ + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("memory limit exceeded by regular expression '%s'", re), + .errPos = state.positions[pos] + })); + } else + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("invalid regular expression '%s'", re), + .errPos = state.positions[pos] + })); + } +} + +static RegisterPrimOp primop_split({ + .name = "__split", + .args = {"regex", "str"}, + .doc = R"s( + Returns a list composed of non matched strings interleaved with the + lists of the [extended POSIX regular + expression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04) + *regex* matches of *str*. Each item in the lists of matched + sequences is a regex group. + + ```nix + builtins.split "(a)b" "abc" + ``` + + Evaluates to `[ "" [ "a" ] "c" ]`. + + ```nix + builtins.split "([ac])" "abc" + ``` + + Evaluates to `[ "" [ "a" ] "b" [ "c" ] "" ]`. + + ```nix + builtins.split "(a)|(c)" "abc" + ``` + + Evaluates to `[ "" [ "a" null ] "b" [ null "c" ] "" ]`. + + ```nix + builtins.split "([[:upper:]]+)" " FOO " + ``` + + Evaluates to `[ " " [ "FOO" ] " " ]`. + )s", + .fun = prim_split, +}); + +static void prim_concatStringsSep(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + PathSet context; + + auto sep = state.forceString(*args[0], context, pos); + state.forceList(*args[1], pos); + + std::string res; + res.reserve((args[1]->listSize() + 32) * sep.size()); + bool first = true; + + for (auto elem : args[1]->listItems()) { + if (first) first = false; else res += sep; + res += *state.coerceToString(pos, *elem, context); + } + + v.mkString(res, context); +} + +static RegisterPrimOp primop_concatStringsSep({ + .name = "__concatStringsSep", + .args = {"separator", "list"}, + .doc = R"( + Concatenate a list of strings with a separator between each + element, e.g. `concatStringsSep "/" ["usr" "local" "bin"] == + "usr/local/bin"`. + )", + .fun = prim_concatStringsSep, +}); + +static void prim_replaceStrings(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + state.forceList(*args[0], pos); + state.forceList(*args[1], pos); + if (args[0]->listSize() != args[1]->listSize()) + state.debugThrowLastTrace(EvalError({ + .msg = hintfmt("'from' and 'to' arguments to 'replaceStrings' have different lengths"), + .errPos = state.positions[pos] + })); + + std::vector from; + from.reserve(args[0]->listSize()); + for (auto elem : args[0]->listItems()) + from.emplace_back(state.forceString(*elem, pos)); + + std::vector> to; + to.reserve(args[1]->listSize()); + for (auto elem : args[1]->listItems()) { + PathSet ctx; + auto s = state.forceString(*elem, ctx, pos); + to.emplace_back(s, std::move(ctx)); + } + + PathSet context; + auto s = state.forceString(*args[2], context, pos); + + std::string res; + // Loops one past last character to handle the case where 'from' contains an empty string. + for (size_t p = 0; p <= s.size(); ) { + bool found = false; + auto i = from.begin(); + auto j = to.begin(); + for (; i != from.end(); ++i, ++j) + if (s.compare(p, i->size(), *i) == 0) { + found = true; + res += j->first; + if (i->empty()) { + if (p < s.size()) + res += s[p]; + p++; + } else { + p += i->size(); + } + for (auto& path : j->second) + context.insert(path); + j->second.clear(); + break; + } + if (!found) { + if (p < s.size()) + res += s[p]; + p++; + } + } + + v.mkString(res, context); +} + +static RegisterPrimOp primop_replaceStrings({ + .name = "__replaceStrings", + .args = {"from", "to", "s"}, + .doc = R"( + Given string *s*, replace every occurrence of the strings in *from* + with the corresponding string in *to*. For example, + + ```nix + builtins.replaceStrings ["oo" "a"] ["a" "i"] "foobar" + ``` + + evaluates to `"fabir"`. + )", + .fun = prim_replaceStrings, +}); + + +/************************************************************* + * Versions + *************************************************************/ + + +static void prim_parseDrvName(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto name = state.forceStringNoCtx(*args[0], pos); + DrvName parsed(name); + auto attrs = state.buildBindings(2); + attrs.alloc(state.sName).mkString(parsed.name); + attrs.alloc("version").mkString(parsed.version); + v.mkAttrs(attrs); +} + +static RegisterPrimOp primop_parseDrvName({ + .name = "__parseDrvName", + .args = {"s"}, + .doc = R"( + Split the string *s* into a package name and version. The package + name is everything up to but not including the first dash followed + by a digit, and the version is everything following that dash. The + result is returned in a set `{ name, version }`. Thus, + `builtins.parseDrvName "nix-0.12pre12876"` returns `{ name = + "nix"; version = "0.12pre12876"; }`. + )", + .fun = prim_parseDrvName, +}); + +static void prim_compareVersions(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto version1 = state.forceStringNoCtx(*args[0], pos); + auto version2 = state.forceStringNoCtx(*args[1], pos); + v.mkInt(compareVersions(version1, version2)); +} + +static RegisterPrimOp primop_compareVersions({ + .name = "__compareVersions", + .args = {"s1", "s2"}, + .doc = R"( + Compare two strings representing versions and return `-1` if + version *s1* is older than version *s2*, `0` if they are the same, + and `1` if *s1* is newer than *s2*. The version comparison + algorithm is the same as the one used by [`nix-env + -u`](../command-ref/nix-env.md#operation---upgrade). + )", + .fun = prim_compareVersions, +}); + +static void prim_splitVersion(EvalState & state, const PosIdx pos, Value * * args, Value & v) +{ + auto version = state.forceStringNoCtx(*args[0], pos); + auto iter = version.cbegin(); + Strings components; + while (iter != version.cend()) { + auto component = nextComponent(iter, version.cend()); + if (component.empty()) + break; + components.emplace_back(component); + } + state.mkList(v, components.size()); + for (const auto & [n, component] : enumerate(components)) + (v.listElems()[n] = state.allocValue())->mkString(std::move(component)); +} + +static RegisterPrimOp primop_splitVersion({ + .name = "__splitVersion", + .args = {"s"}, + .doc = R"( + Split a string representing a version into its components, by the + same version splitting logic underlying the version comparison in + [`nix-env -u`](../command-ref/nix-env.md#operation---upgrade). + )", + .fun = prim_splitVersion, +}); + + +/************************************************************* + * Primop registration + *************************************************************/ + + +RegisterPrimOp::PrimOps * RegisterPrimOp::primOps; + + +RegisterPrimOp::RegisterPrimOp(std::string name, size_t arity, PrimOpFun fun) +{ + if (!primOps) primOps = new PrimOps; + primOps->push_back({ + .name = name, + .args = {}, + .arity = arity, + .fun = fun, + }); +} + + +RegisterPrimOp::RegisterPrimOp(Info && info) +{ + if (!primOps) primOps = new PrimOps; + primOps->push_back(std::move(info)); +} + + +void EvalState::createBaseEnv() +{ + baseEnv.up = 0; + + /* Add global constants such as `true' to the base environment. */ + Value v; + + /* `builtins' must be first! */ + v.mkAttrs(buildBindings(128).finish()); + addConstant("builtins", v); + + v.mkBool(true); + addConstant("true", v); + + v.mkBool(false); + addConstant("false", v); + + v.mkNull(); + addConstant("null", v); + + if (!evalSettings.pureEval) { + v.mkInt(time(0)); + addConstant("__currentTime", v); + + v.mkString(settings.thisSystem.get()); + addConstant("__currentSystem", v); + } + + v.mkString(nixVersion); + addConstant("__nixVersion", v); + + v.mkString(store->storeDir); + addConstant("__storeDir", v); + + /* Language version. This should be increased every time a new + language feature gets added. It's not necessary to increase it + when primops get added, because you can just use `builtins ? + primOp' to check. */ + v.mkInt(6); + addConstant("__langVersion", v); + + // Miscellaneous + if (evalSettings.enableNativeCode) { + addPrimOp("__importNative", 2, prim_importNative); + addPrimOp("__exec", 1, prim_exec); + } + + /* Add a value containing the current Nix expression search path. */ + mkList(v, searchPath.size()); + int n = 0; + for (auto & i : searchPath) { + auto attrs = buildBindings(2); + attrs.alloc("path").mkString(i.second); + attrs.alloc("prefix").mkString(i.first); + (v.listElems()[n++] = allocValue())->mkAttrs(attrs); + } + addConstant("__nixPath", v); + + if (RegisterPrimOp::primOps) + for (auto & primOp : *RegisterPrimOp::primOps) + if (!primOp.experimentalFeature + || settings.isExperimentalFeatureEnabled(*primOp.experimentalFeature)) + { + addPrimOp({ + .fun = primOp.fun, + .arity = std::max(primOp.args.size(), primOp.arity), + .name = primOp.name, + .args = primOp.args, + .doc = primOp.doc, + }); + } + + /* Add a wrapper around the derivation primop that computes the + `drvPath' and `outPath' attributes lazily. */ + sDerivationNix = symbols.create(derivationNixPath); + auto vDerivation = allocValue(); + addConstant("derivation", vDerivation); + + /* Now that we've added all primops, sort the `builtins' set, + because attribute lookups expect it to be sorted. */ + baseEnv.values[0]->attrs->sort(); + + staticBaseEnv->sort(); + + /* Note: we have to initialize the 'derivation' constant *after* + building baseEnv/staticBaseEnv because it uses 'builtins'. */ + char code[] = + #include "primops/derivation.nix.gen.hh" + // the parser needs two NUL bytes as terminators; one of them + // is implied by being a C string. + "\0"; + eval(parse(code, sizeof(code), foFile, derivationNixPath, "/", staticBaseEnv), *vDerivation); +} + + +} diff --git a/language_examples/ranged_for.spec.yaml b/language_examples/ranged_for.spec.yaml new file mode 100644 index 00000000..4e648b27 --- /dev/null +++ b/language_examples/ranged_for.spec.yaml @@ -0,0 +1,69814 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: archive.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: derivations.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: eval-inline.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: eval.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: globals.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: json-to-value.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: names.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: store-api.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: util.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: json.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: value-to-json.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: value-to-xml.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: primops.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: boost/container/small_vector.hpp +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: sys/types.h +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: sys/stat.h +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: unistd.h +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: algorithm +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: cstring +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: regex +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: dlfcn.h +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: cmath +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.other.lt-gt.include +- source: namespace + scopesBegin: + - meta.block.namespace + - meta.head.namespace + scopes: + - keyword.other.namespace.definition + - storage.type.namespace.definition +- source: nix + scopes: + - entity.name.namespace +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.namespace + scopesEnd: + - meta.head.namespace +- source: /************************************************************* + scopesBegin: + - meta.body.namespace + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Miscellaneous' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: InvalidPathError + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: InvalidPathError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: const + scopes: + - storage.modifier.specifier.const +- source: ' Path ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ' :' +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: ''' is not valid' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: path + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: StringMap + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: EvalState + scopes: + - entity.name.scope-resolution.function.definition +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.definition +- source: realiseContext + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: const + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: PathSet + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: context + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: DerivedPath + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: Built + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: drvs + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: StringMap + scopes: + - meta.qualified_type + - entity.name.type +- source: res + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' context' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: ctx +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' outputName' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: decodeContext + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: store +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' i' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ctxS + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: store + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ctx +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: store + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isValidPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ctx +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: debugThrowLastTrace + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: InvalidPathError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: store + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ctx +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: outputName + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '&&' + scopes: + - keyword.operator.logical +- source: ctx + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: isDerivation + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drvs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '{ctx' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' {outputName}}' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: res + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ctxS +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' ctxS' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: drvs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: evalSettings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: enableImportFromDerivation + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: debugThrowLastTrace + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: cannot build ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: >- + ' during evaluation because the option 'allow-import-from-derivation' is + disabled +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: store + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: drvPath + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Build/substitute the context. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: DerivedPath + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: buildReqs + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: d + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' drvs' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: buildReqs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'DerivedPath { d }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: store + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: buildPaths + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: buildReqs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Get all the output paths corresponding to the placeholders we had ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: drvPath + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: outputs + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: ' drvs' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: outputPaths + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: store + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: queryDerivationOutputMap + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: outputName + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' outputs' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: outputPath + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: get + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: outputPaths +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' outputName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: outputPath +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: debugThrowLastTrace + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: ''' does not have an output named ''' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: store + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' outputName' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: res + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: downstreamPlaceholder + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: store +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drvPath' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' outputName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: store + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: outputPath +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add the output of this derivations to the allowed' +- source: ' paths. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: allowedPaths +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: _placeholder + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: outputPath + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: ' res' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: allowPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: store + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: toRealPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: outputPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: return + scopes: + - keyword.control.return +- source: ' res' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: struct + scopesBegin: + - meta.block.struct + scopes: + - meta.head.struct + - storage.type.struct +- source: RealisePathFlags + scopes: + - entity.name.type.struct +- source: '{' + scopes: + - meta.head.struct + - punctuation.section.block.begin.bracket.curly.struct +- source: // + scopesBegin: + - meta.body.struct + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Whether to check that the path is allowed in pure eval mode' + scopesEnd: + - comment.line.double-slash +- source: bool + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' checkForPureEval ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'true' + scopes: + - constant.language.true +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.struct + scopesEnd: + - meta.body.struct +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.struct +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: Path + scopes: + - meta.qualified_type + - entity.name.type +- source: realisePath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: RealisePathFlags + scopes: + - entity.name.type.parameter +- source: flags + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: return + scopes: + - keyword.control.return +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while realising the context of a path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: StringMap + scopes: + - meta.qualified_type + - entity.name.type +- source: rewrites + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: realiseContext + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: realPath + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: toRealPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: rewriteStrings + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' rewrites' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: flags + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkForPureEval + scopes: + - variable.other.property +- source: '?' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkSourcePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: realPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ':' + scopes: + - keyword.operator.ternary +- source: ' realPath' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while realising the context of path ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add and attribute to the given attribute map from the output name to' +- source: ' the output path, or a placeholder.' +- source: ' Where possible the path is used, but for floating CA derivations we' +- source: ' may not know it. For sake of determinism we always assume we don''t' +- source: ' and instead put in a place holder. In either case, however, the' +- source: ' string context will contain the drv path and output name, so' +- source: ' downstream derivations will have the proper dependency, and in' +- source: ' addition, before building, the placeholder will be rewritten to be' +- source: ' the actual path.' +- source: ' The ''drv'' and ''drvPath'' outputs must correspond. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: mkOutputString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: BindingsBuilder + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: attrs + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: StorePath + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: drvPath + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: BasicDerivation + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: drv + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: pair + scopes: + - entity.name.type.parameter +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: DerivationOutput + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call +- source: '&' + scopes: + - storage.modifier.reference +- source: o + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: optOutputPath + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: o + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: path + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: o + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: o + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ' optOutputPath' +- source: '?' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: optOutputPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Downstream we would substitute this for an actual path once' +- source: ' we build the floating CA derivation ' +- source: '*/' + scopes: + - punctuation.definition.comment.end +- source: /* + scopes: + - punctuation.definition.comment.begin +- source: ' FIXME: we need to depend on the basic derivation, not' +- source: ' derivation ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: ':' + scopes: + - keyword.operator.ternary +- source: downstreamPlaceholder + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drvPath' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: o + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '!' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: + + scopes: + - keyword.operator.arithmetic +- source: o + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: + + scopes: + - keyword.operator.arithmetic +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '!' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: + + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '}' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Load and evaluate an expression from path specified by the' +- source: ' argument. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopes: + - storage.modifier.specifier.static +- source: void + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' import' +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'EvalState ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' state' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: ' PosIdx pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' Value ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' vPath' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' vScope' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' Value ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' v' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' vPath' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME' + scopesEnd: + - comment.line.double-slash +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: isValidDerivationInStore + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '->' + scopes: + - punctuation.definition.lambda.return-type +- source: 'std::optional' + scopes: + - storage.type.return-type.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: nullopt +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' storePath ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: parseStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isValidPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: storePath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '&&' + scopes: + - keyword.operator.logical +- source: isDerivation + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: nullopt +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ' storePath' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' optStorePath ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: isValidDerivationInStore + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: storePath + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: optStorePath +- source: ; + scopes: + - punctuation.terminator.statement +- source: Derivation + scopes: + - meta.qualified_type + - entity.name.type +- source: drv + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: readDerivation + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: storePath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '3' + scopes: + - constant.numeric.decimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sDrvPath + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '=' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: + + scopes: + - keyword.operator.arithmetic +- source: ' path}' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sName + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: name +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: outputsVal + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: outputsVal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: const + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: i + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: o + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: enumerate + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: mkOutputString + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' attrs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' storePath' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drv' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' o' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputsVal + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: o + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: w + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: w + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: vImportedDrvToDerivation + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: vImportedDrvToDerivation + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: allocRootValue + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: eval + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: parseExprFromString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: imported-drv-to-derivation.nix.gen.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: / +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopesBegin: + - keyword.operator.arithmetic +- source: '*' + scopesEnd: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: vImportedDrvToDerivation + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopesBegin: + - keyword.operator.arithmetic +- source: '*' + scopesEnd: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: vImportedDrvToDerivation + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: vImportedDrvToDerivation + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' w' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'path ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' corepkgsPrefix ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: fetchurl.nix +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: eval + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: parseExprFromString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: fetchurl.nix.gen.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: / +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: vScope +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: evalFile + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vScope +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Env + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: env + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocEnv + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vScope + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: env + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: up + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: baseEnv + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: staticEnv + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: make_shared + scopes: + - entity.name.function.call +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: StaticEnv + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: staticBaseEnv + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: get + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: vScope + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: unsigned + scopesBegin: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: displ + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vScope + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: staticEnv + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: vars + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' displ' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: env + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: values + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: displ +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' No need to call staticEnv.sort(), because' +- source: // + scopes: + - punctuation.definition.comment +- source: ' args[0]->attrs is already sorted.' + scopesEnd: + - comment.line.double-slash +- source: printTalkative + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: evaluating file ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: Expr + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: e + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: parseExprFromFile + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: resolveExprPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' staticEnv' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: e + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: eval + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: env +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_scopedImport + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: scopedImport +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: arity + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: fun + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: ' import' +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.initialization.parameter + - meta.function.definition.body.lambda +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_import + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: import +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Load, parse and return the Nix expression in the file *path*. If' +- source: ' *path* is a directory, the file ` default.nix ` in that directory' +- source: ' is loaded. Evaluation aborts if the file doesn’t exist or contains' +- source: ' an incorrect Nix expression. `import` implements Nix’s module' +- source: ' system: you can put any Nix expression (such as a set or a' +- source: ' function) in a separate file, and use it from Nix expressions in' +- source: ' other files.' +- source: ' > **Note**' +- source: ' >' +- source: ' > Unlike some languages, `import` is a regular function in Nix.' +- source: ' > Paths using the angle bracket syntax (e.g., `import` *\*)' +- source: ' > are [normal path values](language-values.md).' +- source: ' A Nix expression loaded by `import` must not contain any *free' +- source: ' variables* (identifiers that are not defined in the Nix expression' +- source: ' itself and are not built-in). Therefore, it cannot refer to' +- source: ' variables that are in scope at the call site. For instance, if you' +- source: ' have a calling expression' +- source: ' ```nix' +- source: ' rec {' +- source: ' x = 123;' +- source: ' y = import ./foo.nix;' +- source: ' }' +- source: ' ```' +- source: ' then the following `foo.nix` will give an error:' +- source: ' ```nix' +- source: ' x + 456' +- source: ' ```' +- source: ' since `x` is not in scope in `foo.nix`. If you want `x` to be' +- source: ' available in `foo.nix`, you should pass it as a function argument:' +- source: ' ```nix' +- source: ' rec {' +- source: ' x = 123;' +- source: ' y = import ./foo.nix x;' +- source: ' }' +- source: ' ```' +- source: ' and' +- source: ' ```nix' +- source: ' x: x + 456' +- source: ' ```' +- source: ' (The function argument doesn’t have to be called `x` in `foo.nix`;' +- source: ' any name would work.)' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: ' import' +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: nullptr + scopes: + - constant.language.nullptr +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Want reasonable symbol names, so extern C ' +- source: '*/' + scopes: + - punctuation.definition.comment.end +- source: /* + scopes: + - punctuation.definition.comment.begin +- source: ' !!! Should we pass the Pos or the file name too? ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: extern + scopesBegin: + - meta.block.extern + - meta.head.extern + scopes: + - storage.type.extern +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: C +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: typedef + scopes: + - keyword.other.typedef +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round.function.pointer +- source: '*' + scopes: + - punctuation.definition.function.pointer.dereference +- source: ValueInitializer + scopes: + - variable.other.definition.pointer.function +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.function.pointer +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.function.pointer +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.function.pointer + scopesEnd: + - meta.head.extern +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.extern +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Load a ValueInitializer from a DSO and return whatever it initializes ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_importNative + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string +- source: sym + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopes: + - storage.modifier.pointer +- source: handle + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: dlopen + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: c_str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' RTLD_LAZY ' +- source: '|' + scopes: + - keyword.operator.bitwise +- source: ' RTLD_LOCAL' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: handle +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: could not open ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''': ' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: dlerror + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: dlerror + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: ValueInitializer + scopes: + - meta.qualified_type + - entity.name.type +- source: func + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ValueInitializer +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: dlsym + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: handle +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sym + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: c_str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: func +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: char + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopes: + - storage.modifier.pointer +- source: message + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: dlerror + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: message +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: could not load symbol ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' from ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: ''': ' +- source: '%3%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' sym' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' message' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: symbol ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' from ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: ''' resolved to NULL when a function pointer was expected' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' sym' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: func +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' We don''t dlclose because v may be a primop referencing a function in the shared object file ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Execute a program and parse its output ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_exec + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elems + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: count + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'count ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: at least one argument to 'exec' required +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: program + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elems + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Strings + scopes: + - meta.qualified_type + - entity.name.type +- source: commandArgs + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' i ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '1' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' i ' +- source: < + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: i + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: commandArgs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elems + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: _ + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: realiseContext + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: Handle CA derivations' + scopesEnd: + - comment.line.double-slash +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'InvalidPathError ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: cannot execute ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''', since path ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: ''' is not valid' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' program' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: path + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: output + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: runProgram + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: program +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' commandArgs' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: Expr + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: parsed + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: base + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' parsed ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: parseExprFromString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: output +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: base + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: file + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: While parsing the output from ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' program' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: eval + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: parsed +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: While evaluating the output from ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' program' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return a string representing the type of the expression. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_typeOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: t + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: switch + scopesBegin: + - meta.block.switch + - meta.head.switch + scopes: + - keyword.control.switch +- source: ( + scopesBegin: + - meta.conditional.switch + scopes: + - punctuation.section.parens.begin.bracket.round.conditional.switch +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.conditional.switch + scopesEnd: + - meta.conditional.switch +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.switch + scopesEnd: + - meta.head.switch +- source: case + scopesBegin: + - meta.body.switch + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nInt' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: ' t ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: int +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nBool' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: ' t ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: bool +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nString' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: ' t ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: string +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nPath' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: ' t ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nNull' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: ' t ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'null' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nAttrs' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: ' t ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nList' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: ' t ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nFunction' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: ' t ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: lambda +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nExternal' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: ' t ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: external + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: typeOf + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nFloat' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: ' t ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: float +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nThunk' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: abort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.switch + scopesEnd: + - meta.block.switch + - meta.body.switch +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: t +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_typeOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __typeOf +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a string representing the type of the value *e*, namely' +- source: ' `"int"`, `"bool"`, `"string"`, `"path"`, `"null"`, `"set"`,' +- source: ' `"list"`, `"lambda"` or `"float"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_typeOf' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is the null value. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isNull + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nNull' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_isNull + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: isNull +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to `null`, and `false` otherwise.' +- source: ' > **Warning**' +- source: ' >' +- source: ' > This function is *deprecated*; just write `e == null` instead.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_isNull' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a function. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isFunction + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFunction' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_isFunction + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isFunction +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a function, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_isFunction' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is an integer. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isInt + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nInt' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_isInt + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isInt +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to an integer, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_isInt' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a float. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isFloat + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_isFloat + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isFloat +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a float, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_isFloat' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a string. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nString' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_isString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isString +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a string, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_isString' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a Boolean. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isBool + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nBool' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_isBool + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isBool +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a bool, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_isBool' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a path. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isPath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nPath' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_isPath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isPath +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a path, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_isPath' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: struct + scopesBegin: + - meta.block.struct + scopes: + - meta.head.struct + - storage.type.struct +- source: CompareValues + scopes: + - entity.name.type.struct +- source: '{' + scopes: + - meta.head.struct + - punctuation.section.block.begin.bracket.curly.struct +- source: ' EvalState ' + scopesBegin: + - meta.body.struct +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' state' +- source: ; + scopes: + - punctuation.terminator.statement +- source: CompareValues + scopesBegin: + - meta.function.definition.special.constructor + - meta.head.function.definition.special.constructor + scopes: + - entity.name.function.constructor + - entity.name.function.definition.special.constructor +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.special.constructor +- source: EvalState + scopesBegin: + - meta.function.definition.parameters.special.constructor + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.constructor + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.constructor +- source: ':' + scopes: + - punctuation.separator.initializers +- source: state + scopes: + - entity.name.function.call.initializer +- source: ( + scopes: + - >- + punctuation.section.arguments.begin.bracket.round.function.call.initializer +- source: state + scopes: + - meta.parameter.initialization +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call.initializer +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.head.function.definition.special.constructor +- source: '}' + scopes: + - meta.body.function.definition.special.constructor + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.constructor + scopesEnd: + - meta.function.definition.special.constructor +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopesBegin: + - meta.function.definition.special.operator-overload + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: operator + scopesBegin: + - meta.head.function.definition.special.operator-overload + scopes: + - keyword.other.operator.overload +- source: () + scopes: + - entity.name.operator +- source: ( + scopes: + - >- + punctuation.section.parameters.begin.bracket.round.special.operator-overload +- source: Value + scopesBegin: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v1 + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v2 + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters.special.operator-overload + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.special.operator-overload +- source: const + scopes: + - storage.modifier.specifier.functional.post-parameters.const +- source: '{' + scopes: + - >- + punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.head.function.definition.special.operator-overload +- source: if + scopesBegin: + - meta.body.function.definition.special.operator-overload + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat ' +- source: '&&' + scopes: + - keyword.operator.logical +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nInt' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: fpoint + scopes: + - variable.other.property +- source: < + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: integer + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nInt ' +- source: '&&' + scopes: + - keyword.operator.logical +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: integer + scopes: + - variable.other.property +- source: < + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: fpoint + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'cannot compare ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ' with ' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: showType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v1 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: showType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: switch + scopesBegin: + - meta.block.switch + - meta.head.switch + scopes: + - keyword.control.switch +- source: ( + scopesBegin: + - meta.conditional.switch + scopes: + - punctuation.section.parens.begin.bracket.round.conditional.switch +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.conditional.switch + scopesEnd: + - meta.conditional.switch +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.switch + scopesEnd: + - meta.head.switch +- source: case + scopesBegin: + - meta.body.switch + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nInt' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: return + scopes: + - keyword.control.return +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: integer + scopes: + - variable.other.property +- source: < + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: integer + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nFloat' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: return + scopes: + - keyword.control.return +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: fpoint + scopes: + - variable.other.property +- source: < + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: fpoint + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nString' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: return + scopes: + - keyword.control.return +- source: strcmp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nPath' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: return + scopes: + - keyword.control.return +- source: strcmp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: path + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: path + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: ' nList' +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Lexicographic comparison' + scopesEnd: + - comment.line.double-slash +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: size_t + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type + - storage.type.built-in +- source: ' i ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopesBegin: + - punctuation.terminator.statement +- source: ; + scopesEnd: + - punctuation.terminator.statement +- source: ' i' +- source: ++ + scopes: + - keyword.operator.increment + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'i ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: return + scopes: + - keyword.control.return +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'i ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: return + scopes: + - keyword.control.return +- source: 'true' + scopes: + - constant.language.true +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: eqValues + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: return + scopes: + - keyword.control.return +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: this + scopes: + - variable.language.this +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: default + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.default +- source: ':' + scopes: + - punctuation.separator.colon.case.default + scopesEnd: + - meta.conditional.case +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'cannot compare ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ' with ' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: showType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v1 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: showType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.switch + scopesEnd: + - meta.block.switch + - meta.body.switch +- source: '}' + scopes: + - >- + punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload + scopesEnd: + - meta.function.definition.special.operator-overload + - meta.body.function.definition.special.operator-overload +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.struct + scopesEnd: + - meta.body.struct +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.struct +- source: '#' + scopesBegin: + - keyword.control.directive.conditional.if + scopes: + - punctuation.definition.directive +- source: if + scopesEnd: + - keyword.control.directive.conditional.if +- source: HAVE_BOEHMGC + scopes: + - meta.preprocessor.conditional + - entity.name.function.preprocessor +- source: typedef + scopes: + - keyword.other.typedef +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: list +- source: < + scopes: + - keyword.operator.comparison +- source: 'Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' gc_allocator' +- source: < + scopes: + - keyword.operator.comparison +- source: 'Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: '>>' + scopes: + - keyword.operator.bitwise.shift +- source: ' ValueList' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '#' + scopesBegin: + - keyword.control.directive.else + scopes: + - punctuation.definition.directive +- source: else + scopesEnd: + - keyword.control.directive.else +- source: typedef + scopes: + - keyword.other.typedef +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: list +- source: < + scopes: + - keyword.operator.comparison +- source: 'Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: '>' + scopes: + - keyword.operator.comparison +- source: ' ValueList' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '#' + scopesBegin: + - keyword.control.directive.endif + scopes: + - punctuation.definition.directive +- source: endif + scopesEnd: + - keyword.control.directive.endif +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: getAttr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string_view + scopes: + - entity.name.type.parameter +- source: funcName + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Symbol + scopes: + - entity.name.type.parameter +- source: attrSym + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Bindings + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: attrSet + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: Bindings + scopesBegin: + - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: value + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attrSet + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrSym +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'value ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: attrSet + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: hintformat + scopes: + - meta.qualified_type + - entity.name.type +- source: errorMsg + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: attribute ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: ''' missing for call to ''' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attrSym +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' funcName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: aPos + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attrSet + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: aPos +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: TypeError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' errorMsg' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: e + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: TypeError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' errorMsg' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: aPos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Adding another trace for the function name to make it clear' +- source: // + scopes: + - punctuation.definition.comment +- source: ' which call received wrong arguments.' + scopesEnd: + - comment.line.double-slash +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while invoking ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' funcName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: e +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: return + scopes: + - keyword.control.return +- source: ' value' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_genericClosure + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Get the start set. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: startSet + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ' state' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: genericClosure +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sStartSet + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: startSet + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ValueList + scopes: + - meta.qualified_type + - entity.name.type +- source: workSet + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: startSet + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: workSet + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: elem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Get the operator. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: op + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ' state' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: genericClosure +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOperator + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: op + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Construct the closure by applying the operator to element of' +- source: ' `workSet'', adding the result to `workSet'', continuing until' +- source: ' no new elements are found. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: ValueList + scopes: + - meta.qualified_type + - entity.name.type +- source: res + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' `doneKeys'' doesn''t need to be a GC root, because its values are' +- source: // + scopes: + - punctuation.definition.comment +- source: ' reachable from res.' + scopesEnd: + - comment.line.double-slash +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: cmp + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: CompareValues + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: set +- source: < + scopes: + - keyword.operator.comparison +- source: 'Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: decltype + scopes: + - keyword.operator.functionlike + - keyword.other.decltype + - storage.type.decltype +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.decltype +- source: cmp + scopes: + - meta.arguments.decltype +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.decltype +- source: '>' + scopes: + - keyword.operator.comparison +- source: doneKeys + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: cmp +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: while + scopes: + - keyword.control.while +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: workSet + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: e + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: workSet + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: workSet + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pop_front + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: e +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: key + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: e + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sKey + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'key ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: e + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: attribute 'key' required +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: key + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: doneKeys + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: key + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: res + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: e +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Call the `operator'' function with `e'' as argument. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: call + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: call + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: op + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' e' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add the values returned by the operator to the work set. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: call + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: workSet + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: elem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Create the result list. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: res + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: unsigned + scopesBegin: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' res' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' i' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_genericClosure + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __genericClosure +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: args + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: attrset +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.initialization.parameter + - string.quoted.double +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.initialization +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: arity + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '1' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Take an *attrset* with values named `startSet` and `operator` in order to' +- source: ' return a *list of attrsets* by starting with the `startSet`, recursively' +- source: ' applying the `operator` function to each element. The *attrsets* in the' +- source: ' `startSet` and produced by the `operator` must each contain value named' +- source: ' `key` which are comparable to each other. The result is produced by' +- source: ' repeatedly calling the operator for each element encountered with a' +- source: ' unique key, terminating when no new elements are produced. For example,' +- source: ' ```' +- source: ' builtins.genericClosure {' +- source: ' startSet = [ {key = 5;} ];' +- source: ' operator = item: [{' +- source: ' key = if (item.key / 2 ) * 2 == item.key' +- source: ' then item.key / 2' +- source: ' else 3 * item.key + 1;' +- source: ' }];' +- source: ' }' +- source: ' ```' +- source: ' evaluates to' +- source: ' ```' +- source: ' [ { key = 5; } { key = 16; } { key = 8; } { key = 4; } { key = 2; } { key = 1; } ]' +- source: ' ```' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_genericClosure' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_break + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: break +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: v +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' In debug mode (enabled using `--debugger`), pause Nix expression evaluation and enter the REPL.' +- source: ' Otherwise, return the argument `v`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugRepl + scopes: + - variable.other.property +- source: '&&' + scopesBegin: + - keyword.operator.logical +- source: '!' + scopesEnd: + - keyword.operator.logical +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugTraces + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: error + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'ErrorInfo {' +- source: ' .level ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' lvlInfo' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: breakpoint reached +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: dt + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugTraces + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: front + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: runDebugRepl + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '&' + scopes: + - keyword.operator.bitwise +- source: error +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: dt + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: dt + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: expr + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugQuit + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' If the user elects to quit the repl, throw an exception.' + scopesEnd: + - comment.line.double-slash +- source: throw + scopes: + - keyword.control.throw +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'ErrorInfo{' +- source: ' .level ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' lvlInfo' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: quit the debugger +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: noPos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Return the value we were passed.' + scopesEnd: + - comment.line.double-slash +- source: ' v ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_abort + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: abort +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Abort Nix expression evaluation and print the error message *s*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: ' PathSet context' +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' s ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Abort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'evaluation aborted with the following error message: ''' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' s' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_throw + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: throw +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Throw an error message *s*. This usually aborts Nix expression' +- source: ' evaluation, but in `nix-env -qa` and other commands that try to' +- source: ' evaluate a set of derivations to get information about those' +- source: ' derivations, a derivation that throws an error is silently skipped' +- source: ' (which is not the case for `abort`).' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: EvalState + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: ' PathSet context' +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' s ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ThrownError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_addErrorContext + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: try + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' v ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: nullopt +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_addErrorContext + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __addErrorContext +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: arity + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: fun + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_addErrorContext' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.initialization.parameter +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_ceil + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: value + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: determinePos + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ceil + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: value +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_ceil + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __ceil +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: double +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Converts an IEEE-754 double-precision floating-point number (*double*) to' +- source: ' the next higher integer.' +- source: ' If the datatype is neither an integer nor a "float", an evaluation error will be' +- source: ' thrown.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_ceil' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_floor + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: value + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: determinePos + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: floor + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: value +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_floor + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __floor +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: double +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Converts an IEEE-754 double-precision floating-point number (*double*) to' +- source: ' the next lower integer.' +- source: ' If the datatype is neither an integer nor a "float", an evaluation error will be' +- source: ' thrown.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_floor' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Try evaluating the argument. Success => {success=true; value=something;},' +- source: ' * else => {success=false; value=false;} ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_tryEval + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sValue + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: success +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'AssertionError ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sValue + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: success +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_tryEval + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __tryEval +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Try to shallowly evaluate *e*. Return a set containing the' +- source: ' attributes `success` (`true` if *e* evaluated successfully,' +- source: ' `false` if an error was thrown) and `value`, equalling *e* if' +- source: ' successful and `false` otherwise. `tryEval` will only prevent' +- source: ' errors created by `throw` or `assert` from being thrown.' +- source: ' Errors `tryEval` will not catch are for example those created' +- source: ' by `abort` and type errors generated by builtins. Also note that' +- source: ' this doesn''t evaluate *e* deeply, so `let e = { x = throw ""; };' +- source: ' in (builtins.tryEval e).success` will be `true`. Using' +- source: ' `builtins.deepSeq` one can get the expected result:' +- source: ' `let e = { x = throw ""; }; in' +- source: ' (builtins.tryEval (builtins.deepSeq e e)).success` will be' +- source: ' `false`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_tryEval' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return an environment variable. Use with care. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_getEnv + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string +- source: name + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: evalSettings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: restrictEval + scopes: + - variable.other.property +- source: '||' + scopes: + - keyword.operator.logical +- source: evalSettings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pureEval + scopes: + - variable.other.property +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: getEnv + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: name +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: value_or + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_getEnv + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __getEnv +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' `getEnv` returns the value of the environment variable *s*, or an' +- source: ' empty string if the variable doesn’t exist. This function should be' +- source: ' used with care, as it can introduce all sorts of nasty environment' +- source: ' dependencies in your Nix expression.' +- source: ' `getEnv` is used in Nix Packages to locate the file' +- source: ' `~/.nixpkgs/config.nix`, which contains user-local settings for Nix' +- source: ' Packages. (That is, it does a `getEnv "HOME"` to locate the user’s' +- source: ' home directory.)' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_getEnv' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Evaluate the first argument, then return the second argument. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_seq + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' v ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_seq + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __seq +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Evaluate *e1*, then evaluate and return *e2*. This ensures that a' +- source: ' computation is strict in the value of *e1*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_seq' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Evaluate the first argument deeply (i.e. recursing into lists and' +- source: ' attrsets), then return the second argument. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_deepSeq + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValueDeep + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' v ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_deepSeq + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __deepSeq +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' This is like `seq e1 e2`, except that *e1* is evaluated *deeply*:' +- source: ' if it’s a list or set, its elements or attributes are also' +- source: ' evaluated recursively.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_deepSeq' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Evaluate the first expression and print it on standard error. Then' +- source: ' return the second expression. Useful for debugging. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_trace + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nString' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: printError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'trace: ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: printError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'trace: ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: printValue + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' v ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_trace + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __trace +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Evaluate *e1* and print its abstract syntax representation on' +- source: ' standard error. Then return *e2*. This function is useful for' +- source: ' debugging.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_trace' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Derivations' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Construct (as a unobservable side effect) a Nix derivation' +- source: ' expression that performs the derivation described by the argument' +- source: ' set. Returns the original set extended with the following' +- source: ' attributes: `outPath'' containing the primary output path of the' +- source: ' derivation; `drvPath'' containing the path of the Nix expression;' +- source: ' and `type'' set to `derivation'' to indicate that this is a' +- source: ' derivation. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_derivationStrict + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Figure out the name first (for stack backtraces). ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: attr + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ' state' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivationStrict +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sName + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: drvName + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: posDrvName + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attr + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: ' drvName ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while evaluating the derivation attribute 'name' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Check whether attributes should be passed as a JSON file. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: ostringstream + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: jsonBuf + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: unique_ptr + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: JSONObject + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: jsonObject + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' attr ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sStructuredAttrs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'attr ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '&&' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' jsonObject ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: make_unique + scopes: + - entity.name.function.call +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: JSONObject + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: jsonBuf +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Check whether null attributes should be ignored. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: bool + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ignoreNulls + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' attr ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sIgnoreNulls + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'attr ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' ignoreNulls ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Build the derivation expression by processing the attributes. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Derivation + scopes: + - meta.qualified_type + - entity.name.type +- source: drv + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' drvName' +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: contentAddressed + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: isImpure + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: outputHash + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: outputHashAlgo + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: FileIngestionMethod + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: ingestionMethod + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: StringSet + scopes: + - meta.qualified_type + - entity.name.type +- source: outputs + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: outputs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: out +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: lexicographicOrder + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sIgnoreNulls + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: '&' + scopes: + - storage.modifier.reference +- source: key + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: vomit + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: processing attribute ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' key' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: handleHashMode + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: const + scopesBegin: + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string_view + scopes: + - entity.name.type.parameter +- source: s + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 's ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: recursive +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' ingestionMethod ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Recursive +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 's ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: flat +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' ingestionMethod ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Flat +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: invalid value ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: ''' for ''outputHashMode'' attribute' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' s' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: handleOutputs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: const + scopesBegin: + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: Strings + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: ss + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: outputs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: clear + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: j + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' ss' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: outputs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: duplicate derivation output ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' j' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' !!! Check whether j is a valid attribute' +- source: ' name. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end +- source: /* + scopes: + - punctuation.definition.comment.begin +- source: ' Derivations cannot be named ‘drv’, because' +- source: ' then we''d have an attribute ‘drvPath’ in' +- source: ' the resulting set. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'j ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: drv +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: invalid derivation output name 'drv' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: outputs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation cannot have an empty set of outputs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ignoreNulls +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nNull' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sContentAddressed + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: ' contentAddressed ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: contentAddressed +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: settings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: requireExperimentalFeature + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Xp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: CaDerivations +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sImpure + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: ' isImpure ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: isImpure +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: settings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: requireExperimentalFeature + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Xp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: ImpureDerivations +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' The `args'' attribute is special: it supplies the' +- source: ' command-line arguments to the builder. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sArgs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: posDrvName +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: args + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' All other attributes are passed to the builder through' +- source: ' the environment. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: jsonObject +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sStructuredAttrs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: placeholder + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: jsonObject + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: placeholder + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: key +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: printValueAsJSON + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' placeholder' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sBuilder + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: builder + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' posDrvName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sSystem + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: platform + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' posDrvName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHash + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' outputHash ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' posDrvName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHashAlgo + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' outputHashAlgo ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' posDrvName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHashMode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: handleHashMode + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' posDrvName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Require ‘outputs’ to be a list of strings. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' posDrvName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Strings + scopes: + - meta.qualified_type + - entity.name.type +- source: ss + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ss + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' posDrvName' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: handleOutputs + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ss +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: key +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' s' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sBuilder + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: builder + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sSystem + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: platform + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHash + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' outputHash ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHashAlgo + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' outputHashAlgo ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputHashMode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: handleHashMode + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sOutputs + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: handleOutputs + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: tokenizeString + scopes: + - entity.name.function.call +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Strings + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: s +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while evaluating the attribute ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' of the derivation ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' key' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drvName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: jsonObject +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: jsonObject + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: reset + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __json +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: jsonBuf + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Everything in the context of the strings in the derivation' +- source: ' attributes should be added as dependencies of the resulting' +- source: ' derivation. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: path + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' context' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Paths marked with `='' denote that the path of a derivation' +- source: ' is explicitly passed to the builder. Since that allows the' +- source: ' builder to gain access to every path in the dependency' +- source: ' graph of the derivation (including all outputs), all paths' +- source: ' in the graph must be added to this derivation''s list of' +- source: ' inputs to ensure that they are available when the builder' +- source: ' runs. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: path + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: at + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: '''' + scopesBegin: + - string.quoted.single + scopes: + - punctuation.definition.string.begin +- source: '=' +- source: '''' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.single +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' !!! This doesn''t work if readOnlyMode is set. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: StorePathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: refs + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: computeFSClosure + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: parseStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: string_view + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: substr + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' refs' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: j + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' refs' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: inputSrcs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: j + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: isDerivation + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: inputDrvs + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: j +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: readDerivation + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputNames + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Handle derivation outputs of the form ‘!!’. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: path + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: at + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: '''' + scopesBegin: + - string.quoted.single + scopes: + - punctuation.definition.string.begin +- source: '!' +- source: '''' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.single +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ctx + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: decodeContext + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: inputDrvs + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: ctx + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ctx + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Otherwise it''s a source file. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: else + scopes: + - keyword.control.else +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: inputSrcs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: parseStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Do we have all required attributes? ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: builder + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: required attribute 'builder' missing +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: platform + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: required attribute 'system' missing +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Check whether the derivation name is valid. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: isDerivation + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: drvName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation names are not allowed to end in ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drvExtension' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputHash +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Handle fixed-output derivations.' +- source: ' Ignore `__contentAddressed` because fixed output derivations are' +- source: ' already content addressed. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: '1' + scopes: + - constant.numeric.decimal +- source: '||' + scopes: + - keyword.operator.logical +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: outputs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '!=' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: out +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: multiple outputs are not supported in fixed-output derivations +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: h + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: newHashAllowEmpty + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: outputHash +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: parseHashTypeOpt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: outputHashAlgo +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: method + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: ingestionMethod + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value_or + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Flat +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: outPath + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: makeFixedOutputPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: method +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' h' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drvName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: out +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: outPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: out +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: DerivationOutput + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'CAFixed {' +- source: ' .hash ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' FixedOutputHash {' +- source: ' .method ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' method' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .hash ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: h +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'contentAddressed ' +- source: '||' + scopes: + - keyword.operator.logical +- source: ' isImpure' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'contentAddressed ' +- source: '&&' + scopes: + - keyword.operator.logical +- source: ' isImpure' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: throw + scopes: + - keyword.control.throw +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation cannot be both content-addressed and impure +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ht + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: parseHashTypeOpt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: outputHashAlgo +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: value_or + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: htSHA256 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: method + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: ingestionMethod + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value_or + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Recursive +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' outputs' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: hashPlaceholder + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: i +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: isImpure +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: DerivationOutput + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'Impure {' +- source: ' .method ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' method' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .hashType ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' ht' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: DerivationOutput + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'CAFloating {' +- source: ' .method ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' method' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .hashType ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' ht' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Compute a hash over the "masked" store derivation, which is' +- source: ' the final one except that in the list of outputs, the' +- source: ' output paths are empty strings, and the corresponding' +- source: ' environment variables have an empty value. This ensures' +- source: ' that changes in the set of output names do get reflected in' +- source: ' the hash. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' outputs' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: DerivationOutput + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'Deferred { }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: hashModulo + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: hashDerivationModulo + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Derivation + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: drv +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: switch + scopesBegin: + - meta.block.switch + - meta.head.switch + scopes: + - keyword.control.switch +- source: ( + scopesBegin: + - meta.conditional.switch + scopes: + - punctuation.section.parens.begin.bracket.round.conditional.switch +- source: hashModulo + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: kind + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.conditional.switch + scopesEnd: + - meta.conditional.switch +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.switch + scopesEnd: + - meta.head.switch +- source: case + scopesBegin: + - meta.body.switch + - meta.conditional.case + scopes: + - keyword.control.case +- source: DrvHash + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Kind + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Regular +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' outputs' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: h + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: get + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: hashModulo + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: hashes + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' i' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: h +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: throw + scopes: + - keyword.control.throw +- source: AssertionError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation produced no hash for output ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' i' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: posDrvName +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: outPath + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: makeOutputPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: h +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drvName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: env + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: outPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ' i' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' DerivationOutputInputAddressed {' +- source: ' .path ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: outPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: break + scopes: + - keyword.control.break +- source: ; + scopesBegin: + - punctuation.terminator.statement +- source: ; + scopesEnd: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: DrvHash + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Kind + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Deferred +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' outputs' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' DerivationOutputDeferred {}' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.switch + scopesEnd: + - meta.block.switch + - meta.body.switch +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Write the resulting term into the Nix store directory. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: drvPath + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: writeDerivation + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drv' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: repair + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: drvPathS + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: printMsg + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: lvlChatty +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: instantiated ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' -> ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drvName' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drvPathS' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Optimisation, but required in read-only mode! because in that' +- source: ' case we don''t actually write store derivations, so we can''t' +- source: ' read them later. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: h + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: hashDerivationModulo + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drv' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: drvHashes + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: lock + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: insert_or_assign + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' h' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '1' + scopes: + - constant.numeric.decimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sDrvPath + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: drvPathS +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '=' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: + + scopes: + - keyword.operator.arithmetic +- source: ' drvPathS}' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: drv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: outputs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: mkOutputString + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' attrs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drvPath' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' drv' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' i' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_derivationStrict + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivationStrict +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: arity + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '1' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: fun + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_derivationStrict' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.initialization.parameter +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return a placeholder string for the specified output that will be' +- source: ' substituted by the corresponding output path at build time. For' +- source: ' example, ''placeholder "out"'' returns the string' +- source: ' /1rz4g4znpzjwh1xymhjpm42vipw92pr73vdgl6xs1hycac8kf2n9. At build' +- source: ' time, any occurrence of this string in an derivation attribute will' +- source: ' be replaced with the concrete path in the Nix store of the output' +- source: ' ‘out’. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_placeholder + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: v + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: hashPlaceholder + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_placeholder + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: output +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a placeholder string for the specified *output* that will be' +- source: ' substituted by the corresponding output path at build time. Typical' +- source: ' outputs would be `"out"`, `"bin"` or `"dev"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_placeholder' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Paths' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Convert the argument to a path. !!! obsolete? ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_toPath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: Path + scopes: + - meta.qualified_type + - entity.name.type +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: canonPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_toPath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __toPath +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' **DEPRECATED.** Use `/. + "/path"` to convert a string into an absolute' +- source: ' path. For relative paths, use `./. + "/path"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_toPath' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Allow a valid store path to be used in an expression. This is' +- source: ' useful in some generated expressions such as in nix-push, which' +- source: ' generates a call to a function with an already existing store path' +- source: ' as argument. You don''t want to use `toPath'' here because it copies' +- source: ' the path to the Nix store, which yields a copy like' +- source: ' /nix/store/newhash-oldhash-oldname. In the past, `toPath'' had' +- source: ' special case behaviour for store paths, but that created weird' +- source: ' corner cases. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_storePath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: if + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: evalSettings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pureEval + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '''' +- source: '%s' + scopes: + - constant.other.placeholder +- source: ''' is not allowed in pure evaluation mode' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: builtins.storePath +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: Path + scopes: + - meta.qualified_type + - entity.name.type +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkSourcePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Resolve symlinks in ‘path’, unless ‘path’ itself is a symlink' +- source: ' directly in the store. The latter condition is necessary so' +- source: ' e.g. nix-push does the right thing. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' path ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: canonPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isInStore + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' is not in the Nix store' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path2 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: toStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: settings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: readOnlyMode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: ensurePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path2 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: context + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path2 +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_storePath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __storePath +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' This function allows you to define a dependency on an already' +- source: ' existing store path. For example, the derivation attribute `src' +- source: ' = builtins.storePath /nix/store/f1d18v1y…-source` causes the' +- source: ' derivation to depend on the specified path, which must exist or' +- source: ' be substitutable. Note that this differs from a plain path' +- source: ' (e.g. `src = /nix/store/f1d18v1y…-source`) in that the latter' +- source: ' causes the path to be *copied* again to the Nix store, resulting' +- source: ' in a new path (e.g. `/nix/store/ld01dnzc…-source-source`).' +- source: ' This function is not available in pure evaluation mode.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_storePath' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_pathExists + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: /* + scopesBegin: + - meta.body.function.definition + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' We don’t check the path right now, because we don’t want to' +- source: ' throw if the path isn’t allowed, but just return false (and we' +- source: ' can’t just catch the exception here because we still want to' +- source: ' throw if something in the evaluation of `*args[0]` tries to' +- source: ' access an unauthorized path). ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' { .checkForPureEval ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pathExists + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkSourcePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'SysError ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Don''t give away info from errors while canonicalising' +- source: ' ‘path’ in restricted mode. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'RestrictedPathError ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_pathExists + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __pathExists +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if the path *path* exists at evaluation time, and' +- source: ' `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_pathExists' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the base name of the given string, i.e., everything' +- source: ' following the last slash. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_baseNameOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: baseNameOf + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_baseNameOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: baseNameOf +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the *base name* of the string *s*, that is, everything' +- source: ' following the final slash in the string. This is similar to the GNU' +- source: ' `basename` command.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_baseNameOf' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the directory of the given path, i.e., everything before the' +- source: ' last slash. Return either a path or a string depending on the type' +- source: ' of the argument. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_dirOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: dir + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: dirOf + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nPath' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: dir +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: dir +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_dirOf + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: dirOf +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the directory part of the string *s*, that is, everything' +- source: ' before the final slash in the string. This is similar to the GNU' +- source: ' `dirname` command.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_dirOf' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the contents of a file as a string. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_readFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: readFile + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: s + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: char + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: npos +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: the contents of the file ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' cannot be represented as a Nix string' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: StorePathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: refs + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isInStore + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: ' refs ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: queryPathInfo + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: toStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: references + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: should be InvalidPathError' + scopesEnd: + - comment.line.double-slash +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: context + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: printStorePathSet + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: refs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: s +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_readFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __readFile +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the contents of the file *path* as a string.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_readFile' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Find a file in the Nix search path. Used to implement paths,' +- source: ' which are desugared to ''findFile __nixPath "x"''. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_findFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: SearchPath + scopes: + - meta.qualified_type + - entity.name.type +- source: searchPath + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: v2 + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: prefix + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: i + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sPrefix + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'i ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' prefix ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' i ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ' state' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: findFile +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sPath + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: toOwned + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: rewrites + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: realiseContext + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' path ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: rewriteStrings + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' rewrites' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'InvalidPathError ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: cannot find ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''', since path ''' +- source: '%2%' + scopes: + - constant.other.placeholder +- source: ''' is not valid' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: path + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: searchPath + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: prefix +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkSourcePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: findFile + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: searchPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_findFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __findFile +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: arity + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: fun + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_findFile' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.initialization.parameter +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the cryptographic hash of a file in base-16. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_hashFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: type + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: HashType + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: ht + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: parseHashType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: type +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: ht +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: unknown hash type ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' type' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: hashFile + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ht +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: to_string + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Base16 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_hashFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __hashFile +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: type +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: p +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a base-16 representation of the cryptographic hash of the' +- source: ' file at path *p*. The hash algorithm specified by *type* must be one' +- source: ' of `"md5"`, `"sha1"`, `"sha256"` or `"sha512"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_hashFile' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Read a directory (without . or ..) ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_readDir + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: realisePath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: DirEntries + scopes: + - meta.qualified_type + - entity.name.type +- source: entries + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: readDirectory + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: entries + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: ent + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' entries' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ent + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: type + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' DT_UNKNOWN' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ent + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: type + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: getFileType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'path ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: / +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: + + scopes: + - keyword.operator.arithmetic +- source: ent + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ent + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ent + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: type + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' DT_REG ' +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: regular +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: ent + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: type + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' DT_DIR ' +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: directory +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: ent + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: type + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' DT_LNK ' +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: symlink +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: unknown +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_readDir + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __readDir +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the contents of the directory *path* as a set mapping' +- source: ' directory entries to the corresponding file type. For instance, if' +- source: ' directory `A` contains a regular file `B` and another directory' +- source: ' `C`, then `builtins.readDir ./A` will return the set' +- source: ' ```nix' +- source: ' { B = "regular"; C = "directory"; }' +- source: ' ```' +- source: ' The possible values for the file type are `"regular"`,' +- source: ' `"directory"`, `"symlink"` and `"unknown"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_readDir' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Creating files' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Convert the argument (which can be any Nix expression) to an XML' +- source: ' representation returned in a string. Not all Nix expressions can' +- source: ' be sensibly or completely represented (e.g., functions). ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_toXML + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: ostringstream + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: out + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: printValueAsXML + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' out' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: out + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_toXML + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __toXML +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a string containing an XML representation of *e*. The main' +- source: ' application for `toXML` is to communicate information with the' +- source: ' builder in a more structured format than plain environment' +- source: ' variables.' +- source: ' Here is an example where this is the case:' +- source: ' ```nix' +- source: ' { stdenv, fetchurl, libxslt, jira, uberwiki }:' +- source: ' stdenv.mkDerivation (rec {' +- source: ' name = "web-server";' +- source: ' buildInputs = [ libxslt ];' +- source: ' builder = builtins.toFile "builder.sh" "' +- source: ' source $stdenv/setup' +- source: ' mkdir $out' +- source: ' echo "$servlets" | xsltproc ${stylesheet} - > $out/server-conf.xml ①' +- source: ' ";' +- source: ' stylesheet = builtins.toFile "stylesheet.xsl" ②' +- source: ' "' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ";' +- source: ' servlets = builtins.toXML [ ③' +- source: ' { path = "/bugtracker"; war = jira + "/lib/atlassian-jira.war"; }' +- source: ' { path = "/wiki"; war = uberwiki + "/uberwiki.war"; }' +- source: ' ];' +- source: ' })' +- source: ' ```' +- source: ' The builder is supposed to generate the configuration file for a' +- source: ' [Jetty servlet container](http://jetty.mortbay.org/). A servlet' +- source: ' container contains a number of servlets (`*.war` files) each' +- source: ' exported under a specific URI prefix. So the servlet configuration' +- source: ' is a list of sets containing the `path` and `war` of the servlet' +- source: ' (①). This kind of information is difficult to communicate with the' +- source: ' normal method of passing information through an environment' +- source: ' variable, which just concatenates everything together into a' +- source: ' string (which might just work in this case, but wouldn’t work if' +- source: ' fields are optional or contain lists themselves). Instead the Nix' +- source: ' expression is converted to an XML representation with `toXML`,' +- source: ' which is unambiguous and can easily be processed with the' +- source: ' appropriate tools. For instance, in the example an XSLT stylesheet' +- source: ' (at point ②) is applied to it (at point ①) to generate the XML' +- source: ' configuration file for the Jetty server. The XML representation' +- source: ' produced at point ③ by `toXML` is as follows:' +- source: ' ```xml' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ' +- source: ' ```' +- source: ' Note that we used the `toFile` built-in to write the builder and' +- source: ' the stylesheet “inline” in the Nix expression. The path of the' +- source: ' stylesheet is spliced into the builder using the syntax `xsltproc' +- source: ' ${stylesheet}`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_toXML' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Convert the argument (which can be any Nix expression) to a JSON' +- source: ' string. Not all Nix expressions can be sensibly or completely' +- source: ' represented (e.g., functions). ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_toJSON + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: ostringstream + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: out + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: printValueAsJSON + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' out' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: out + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_toJSON + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __toJSON +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a string containing a JSON representation of *e*. Strings,' +- source: ' integers, floats, booleans, nulls and lists are mapped to their JSON' +- source: ' equivalents. Sets (except derivations) are represented as objects.' +- source: ' Derivations are translated to a JSON string containing the' +- source: ' derivation’s output path. Paths are copied to the store and' +- source: ' represented as a JSON string of the resulting store path.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_toJSON' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Parse a JSON string to a value. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_fromJSON + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: parseJSON + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' s' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'JSONParseError ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while decoding a JSON string +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_fromJSON + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __fromJSON +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Convert a JSON string to a Nix value. For example,' +- source: ' ```nix' +- source: ' builtins.fromJSON ''''{"x": [1, 2, 3], "y": null}''''' +- source: ' ```' +- source: ' returns the value `{ x = [ 1 2 3 ]; y = null; }`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_fromJSON' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Store a string in the Nix store as a source file that can be used' +- source: ' as an input by derivations. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_toFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string +- source: name + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string +- source: contents + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: StorePathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: refs + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: path + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' context' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: path + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: at + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: '''' + scopesBegin: + - string.quoted.single + scopes: + - punctuation.definition.string.begin +- source: / +- source: '''' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.single +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'in ''toFile'': the file named ''' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' must not contain a reference ' +- source: '"' + scopes: + - punctuation.definition.string.end +- source: '"' + scopes: + - punctuation.definition.string.begin +- source: to a derivation but contains ( +- source: '%2%' + scopes: + - constant.other.placeholder +- source: ) +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' name' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: refs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: parseStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: storePath + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: settings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: readOnlyMode + scopes: + - variable.other.property +- source: '?' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: computeStorePathForText + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' contents' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' refs' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ':' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: addTextToStore + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' contents' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' refs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: repair + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Note: we don''t need to add `context'' to the context of the' +- source: ' result, since `storePath'' itself has references to the paths' +- source: ' used in args[1]. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end +- source: /* + scopes: + - punctuation.definition.comment.begin +- source: ' Add the output of this to the allowed paths. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allowAndSetStorePathString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: storePath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_toFile + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __toFile +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: name +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Store the string *s* in a file in the Nix store and return its' +- source: ' path. The file has suffix *name*. This file can be used as an' +- source: ' input to derivations. One application is to write builders' +- source: ' “inline”. For instance, the following Nix expression combines the' +- source: ' [Nix expression for GNU Hello](expression-syntax.md) and its' +- source: ' [build script](build-script.md) into one file:' +- source: ' ```nix' +- source: ' { stdenv, fetchurl, perl }:' +- source: ' stdenv.mkDerivation {' +- source: ' name = "hello-2.1.1";' +- source: ' builder = builtins.toFile "builder.sh" "' +- source: ' source $stdenv/setup' +- source: ' PATH=$perl/bin:$PATH' +- source: ' tar xvfz $src' +- source: ' cd hello-*' +- source: ' ./configure --prefix=$out' +- source: ' make' +- source: ' make install' +- source: ' ";' +- source: ' src = fetchurl {' +- source: ' url = "http://ftp.nluug.nl/pub/gnu/hello/hello-2.1.1.tar.gz";' +- source: ' sha256 = "1md7jsfd8pa45z73bz1kszpp01yw6x5ljkjk2hx7wl800any6465";' +- source: ' };' +- source: ' inherit perl;' +- source: ' }' +- source: ' ```' +- source: ' It is even possible for one file to refer to another, e.g.,' +- source: ' ```nix' +- source: ' builder = let' +- source: ' configFile = builtins.toFile "foo.conf" "' +- source: ' # This is some dummy configuration file.' +- source: ' ...' +- source: ' ";' +- source: ' in builtins.toFile "builder.sh" "' +- source: ' source $stdenv/setup' +- source: ' ...' +- source: ' cp ${configFile} $out/etc/foo.conf' +- source: ' ";' +- source: ' ```' +- source: ' Note that `${configFile}` is an' +- source: ' [antiquotation](language-values.md), so the result of the' +- source: ' expression `configFile`' +- source: ' (i.e., a path like `/nix/store/m7p7jfny445k...-foo.conf`) will be' +- source: ' spliced into the resulting string.' +- source: ' It is however *not* allowed to have files mutually referring to each' +- source: ' other, like so:' +- source: ' ```nix' +- source: ' let' +- source: ' foo = builtins.toFile "foo" "...${bar}...";' +- source: ' bar = builtins.toFile "bar" "...${foo}...";' +- source: ' in foo' +- source: ' ```' +- source: ' This is not allowed because it would cause a cyclic dependency in' +- source: ' the computation of the cryptographic hashes for `foo` and `bar`.' +- source: ' It is also not possible to reference the result of a derivation. If' +- source: ' you are using Nixpkgs, the `writeTextFile` function is able to do' +- source: ' that.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_toFile' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: addPath + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: name + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Path + scopes: + - entity.name.type.parameter +- source: path + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: filterFun + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: FileIngestionMethod + scopes: + - entity.name.type.parameter +- source: method + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: optional + scopes: + - entity.name.type.parameter +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Hash + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call +- source: expectedHash + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PathSet + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: context + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: try + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: handle CA derivation outputs (where path needs to' +- source: // + scopes: + - punctuation.definition.comment +- source: ' be rewritten to the actual output).' + scopesEnd: + - comment.line.double-slash +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: rewrites + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: realiseContext + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: context +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' path ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: toRealPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: rewriteStrings + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' rewrites' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: StorePathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: refs + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isInStore + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: storePath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' subPath' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: toStorePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: we should scanForReferences on the path before adding it' + scopesEnd: + - comment.line.double-slash +- source: ' refs ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: queryPathInfo + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: storePath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: references + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' path ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: toRealPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: storePath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: ' subPath' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: should be InvalidPathError' + scopesEnd: + - comment.line.double-slash +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ' path ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: evalSettings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pureEval + scopes: + - variable.other.property +- source: '&&' + scopes: + - keyword.operator.logical +- source: ' expectedHash' +- source: '?' + scopes: + - keyword.operator.ternary +- source: ' path' +- source: ':' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: checkSourcePath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathFilter + scopes: + - meta.qualified_type + - entity.name.type +- source: filter + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' filterFun ' +- source: '?' + scopes: + - keyword.operator.ternary +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: const + scopesBegin: + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: Path + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: path + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: auto + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' st ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: lstat + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Call the filter function. The first argument is the path,' +- source: ' the second is a string indicating the type of the file. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: ' Value arg1' +- source: ; + scopes: + - punctuation.terminator.statement +- source: arg1 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' Value arg2' +- source: ; + scopes: + - punctuation.terminator.statement +- source: arg2 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: S_ISREG + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: st + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: st_mode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: regular +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: S_ISDIR + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: st + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: st_mode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: directory +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: S_ISLNK + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: st + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: st_mode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: symlink +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: unknown +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' not supported, will fail! ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' args []' +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '&' + scopes: + - keyword.operator.bitwise +- source: arg1 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '&' + scopes: + - keyword.operator.bitwise +- source: arg2 +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' Value res' +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: filterFun +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' args' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' res' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ':' + scopes: + - keyword.operator.ternary +- source: ' defaultPathFilter' +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: StorePath + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: expectedStorePath + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: expectedHash +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' expectedStorePath ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: makeFixedOutputPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: method +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: expectedHash +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' name' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: 'expectedHash ' +- source: '||' + scopesBegin: + - keyword.operator.logical +- source: '!' + scopesEnd: + - keyword.operator.logical +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isValidPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: expectedStorePath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: StorePath + scopes: + - meta.qualified_type + - entity.name.type +- source: dstPath + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: settings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: readOnlyMode + scopes: + - variable.other.property +- source: '?' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: computeStorePathForPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' method' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' htSHA256' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' filter' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ':' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: store + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: addToStore + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' method' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' htSHA256' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' filter' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: repair + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' refs' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'expectedHash ' +- source: '&&' + scopes: + - keyword.operator.logical +- source: ' expectedStorePath ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: ' dstPath' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: store path mismatch in (possibly filtered) path added from ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allowAndSetStorePathString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: dstPath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allowAndSetStorePathString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: expectedStorePath +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while adding path ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: throw + scopes: + - keyword.control.throw +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_filterSource + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: Path + scopes: + - meta.qualified_type + - entity.name.type +- source: path + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: ' nFunction' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: TypeError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'first argument in call to ''filterSource'' is not a function but ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: showType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: baseNameOf + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Recursive +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: nullopt +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_filterSource + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __filterSource +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' > **Warning**' +- source: ' >' +- source: ' > `filterSource` should not be used to filter store paths. Since' +- source: ' > `filterSource` uses the name of the input directory while naming' +- source: ' > the output directory, doing so will produce a directory name in' +- source: ' > the form of `--`, where `-` is' +- source: ' > the name of the input directory. Since `` depends on the' +- source: ' > unfiltered directory, the name of the output directory will' +- source: ' > indirectly depend on files that are filtered out by the' +- source: ' > function. This will trigger a rebuild even when a filtered out' +- source: ' > file is changed. Use `builtins.path` instead, which allows' +- source: ' > specifying the name of the output directory.' +- source: ' This function allows you to copy sources into the Nix store while' +- source: ' filtering certain files. For instance, suppose that you want to use' +- source: ' the directory `source-dir` as an input to a Nix expression, e.g.' +- source: ' ```nix' +- source: ' stdenv.mkDerivation {' +- source: ' ...' +- source: ' src = ./source-dir;' +- source: ' }' +- source: ' ```' +- source: ' However, if `source-dir` is a Subversion working copy, then all' +- source: ' those annoying `.svn` subdirectories will also be copied to the' +- source: ' store. Worse, the contents of those directories may change a lot,' +- source: ' causing lots of spurious rebuilds. With `filterSource` you can' +- source: ' filter out the `.svn` directories:' +- source: ' ```nix' +- source: ' src = builtins.filterSource' +- source: ' (path: type: type != "directory" || baseNameOf path != ".svn")' +- source: ' ./source-dir;' +- source: ' ```' +- source: ' Thus, the first argument *e1* must be a predicate function that is' +- source: ' called for each regular file, directory or symlink in the source' +- source: ' tree *e2*. If the function returns `true`, the file is copied to the' +- source: ' Nix store, otherwise it is omitted. The function is called with two' +- source: ' arguments. The first is the full path of the file. The second is a' +- source: ' string that identifies the type of the file, which is either' +- source: ' `"regular"`, `"directory"`, `"symlink"` or `"unknown"` (for other' +- source: ' kinds of files such as device nodes or fifos — but note that those' +- source: ' cannot be copied to the Nix store, so if the predicate returns' +- source: ' `true` for them, the copy will fail). If you exclude a directory,' +- source: ' the entire corresponding subtree of *e2* will be excluded.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_filterSource' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_path + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Path + scopes: + - meta.qualified_type + - entity.name.type +- source: path + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: name + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: filterFun + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: nullptr + scopes: + - constant.language.nullptr +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: method + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: FileIngestionMethod + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Recursive +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Hash + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: expectedHash + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'n ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' path ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToPath + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sName + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' name ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'n ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: filter +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' filterFun ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'n ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: recursive +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' method ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' FileIngestionMethod ' +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'n ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: sha256 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' expectedHash ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: newHashAllowEmpty + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' htSHA256' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: unsupported argument ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ''' to ''addPath''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: path + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '''path'' required' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: name + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' name ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: baseNameOf + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: addPath + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' name' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' path' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' filterFun' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' method' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' expectedHash' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_path + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: args +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' An enrichment of the built-in path type, based on the attributes' +- source: ' present in *args*. All are optional except `path`:' +- source: ' - path\' +- source: ' The underlying path.' +- source: ' - name\' +- source: ' The name of the path when added to the store. This can used to' +- source: ' reference paths that have nix-illegal characters in their names,' +- source: ' like `@`.' +- source: ' - filter\' +- source: ' A function of the type expected by `builtins.filterSource`,' +- source: ' with the same semantics.' +- source: ' - recursive\' +- source: ' When `false`, when `path` is added to the store it is with a' +- source: ' flat hash, rather than a hash of the NAR serialization of the' +- source: ' file. Thus, `path` must refer to a regular file, not a' +- source: ' directory. This allows similar behavior to `fetchurl`. Defaults' +- source: ' to `true`.' +- source: ' - sha256\' +- source: ' When provided, this is the expected hash of the file at the' +- source: ' path. Evaluation will fail if the hash is incorrect, and' +- source: ' providing a hash allows `builtins.path` to be used even when the' +- source: ' `pure-eval` nix config option is on.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_path' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Sets' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the names of the attributes in a set as a sorted list of' +- source: ' strings. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_attrNames + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: symbolTable + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: size_t + scopes: + - meta.qualified_type + - storage.type + - storage.type.built-in +- source: 'n' + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: staticId + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __id_static +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: dynamicId + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __id_dynamic +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: nix + scopesBegin: + - meta.parens.control.for + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Attr + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: symbol + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: symbolTable + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: symbol +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'name ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' staticId ' +- source: '||' + scopes: + - keyword.operator.logical +- source: ' name ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' dynamicId' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: sort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: ' n' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: Value + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v1 + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v2 + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: return + scopes: + - keyword.control.return +- source: strcmp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_attrNames + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __attrNames +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the names of the attributes in the set *set* in an' +- source: ' alphabetically sorted list. For instance, `builtins.attrNames { y' +- source: ' = 1; x = "foo"; }` evaluates to `[ "x" "y" ]`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_attrNames' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the values of the attributes in a set as a list, in the same' +- source: ' order as attrNames. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_attrValues + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: unsigned + scopesBegin: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: symbolTable + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: staticId + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __id_static +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: dynamicId + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __id_dynamic +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: nix + scopesBegin: + - meta.parens.control.for + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Attr + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: symbol + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: symbolTable + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: symbol +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'name ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' staticId ' +- source: '||' + scopes: + - keyword.operator.logical +- source: ' name ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' dynamicId' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: continue + scopes: + - keyword.control.continue +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '&' + scopes: + - keyword.operator.bitwise +- source: attr +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: sort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: ' n' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: Value + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v1 + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: v2 + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'string_view s1 ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Attr ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' v1' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' s2 ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Attr ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' v2' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ' s1 ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' s2' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' i ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' i ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' n' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: i + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'Attr ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_attrValues + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __attrValues +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the values of the attributes in the set *set* in the order' +- source: ' corresponding to the sorted attribute names.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_attrValues' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Dynamic version of the `.'' operator. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_getAttr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attr + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: i + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ' state' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: getAttr +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attr +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' !!! add to stack trace?' + scopesEnd: + - comment.line.double-slash +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: countCalls + scopes: + - variable.other.property +- source: '&&' + scopes: + - keyword.operator.logical +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: attrSelects + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ++ + scopes: + - keyword.operator.increment +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' v ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_getAttr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __getAttr +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' `getAttr` returns the attribute named *s* from *set*. Evaluation' +- source: ' aborts if the attribute doesn’t exist. This is a dynamic version of' +- source: ' the `.` operator, since *s* is an expression rather than an' +- source: ' identifier.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_getAttr' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return position information of the specified attribute. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_unsafeGetAttrPos + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attr + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: i + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attr +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'i ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkNull + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkPos + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_unsafeGetAttrPos + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: RegisterPrimOp + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: Info + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: '{' + scopes: + - punctuation.section.arguments.begin.bracket.curly.initializer +- source: . + scopesBegin: + - meta.initialization.parameter + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: name + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __unsafeGetAttrPos +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: arity + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: . + scopes: + - punctuation.accessor.initializer + - variable.parameter.initializer +- source: fun + scopes: + - variable.parameter.initializer +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_unsafeGetAttrPos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.initialization.parameter +- source: '}' + scopes: + - punctuation.section.arguments.end.bracket.curly.initializer + scopesEnd: + - meta.function.definition.parameters + - meta.parameter + - meta.initialization +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Dynamic version of the `?'' operator. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_hasAttr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attr + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attr +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_hasAttr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __hasAttr +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' `hasAttr` returns `true` if *set* has an attribute named *s*, and' +- source: ' `false` otherwise. This is a dynamic version of the `?` operator,' +- source: ' since *s* is an expression rather than an identifier.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_hasAttr' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a set. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nAttrs' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_isAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a set, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_isAttrs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_removeAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Get the attribute names to be removed.' +- source: ' We keep them as Attrs instead of Symbols so std::set_difference' +- source: ' can be used to remove them from attrs[0]. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: boost + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: container + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: small_vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Attr + scopes: + - meta.qualified_type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: '64' + scopes: + - constant.numeric.decimal +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: names + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: names + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: reserve + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: names + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: elem + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: string + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: s + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: nullptr + scopes: + - constant.language.nullptr +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: sort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: names + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: names + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Copy all attributes not in that set. Note that we don''t need' +- source: ' to sort v.attrs because it''s a subset of an already sorted' +- source: ' vector. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: set_difference + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: names + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: names + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: back_inserter + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: attrs +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alreadySorted + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_removeAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: removeAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: set +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Remove the attributes listed in *list* from *set*. The attributes' +- source: ' don’t have to exist in *set*. For instance,' +- source: ' ```nix' +- source: ' removeAttrs { x = 1; y = 2; z = 3; } [ "a" "x" "z" ]' +- source: ' ```' +- source: ' evaluates to `{ y = 2; }`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_removeAttrs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Builds a set from a list specifying (name, value) pairs. To be' +- source: ' precise, a list [{name = "name1"; value = value1;} ... {name =' +- source: ' "nameN"; value = valueN;}] is transformed to {name1 = value1;' +- source: ' ... nameN = valueN;}. In case of duplicate occurrences of the same' +- source: ' name, the first takes precedence. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_listToAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: set + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Symbol + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: seen + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: v2 + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: j + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ' state' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: listToAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sName + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: j + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: j + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: sym + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: seen + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sym +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: j2 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: getAttr + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ' state' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: listToAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sValue + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: j2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: j2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_listToAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __listToAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Construct a set from a list specifying the names and values of each' +- source: ' attribute. Each element of the list should be a set consisting of a' +- source: ' string-valued attribute `name` specifying the name of the attribute,' +- source: ' and an attribute `value` specifying its value. Example:' +- source: ' ```nix' +- source: ' builtins.listToAttrs' +- source: ' [ { name = "foo"; value = 123; }' +- source: ' { name = "bar"; value = 456; }' +- source: ' ]' +- source: ' ```' +- source: ' evaluates to' +- source: ' ```nix' +- source: ' { foo = 123; bar = 456; }' +- source: ' ```' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_listToAttrs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_intersectAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: min + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: j + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'j ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: j +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alreadySorted + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_intersectAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __intersectAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a set consisting of the attributes in the set *e2* that also' +- source: ' exist in the set *e1*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_intersectAttrs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_catAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrName + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: res + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: unsigned + scopesBegin: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: found + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: v2 + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v2 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Bindings + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: iterator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: i + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrName +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'i ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: v2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: res + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: found +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' found' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' found' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: res + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_catAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __catAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: attr +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Collect each attribute named *attr* from a list of attribute' +- source: ' sets. Attrsets that don''t contain the named attribute are' +- source: ' ignored. For example,' +- source: ' ```nix' +- source: ' builtins.catAttrs "a" [{a = 1;} {b = 0;} {a = 2;}]' +- source: ' ```' +- source: ' evaluates to `[1 2]`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_catAttrs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_functionArgs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isPrimOpApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '||' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isPrimOp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emptyBindings + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isLambda + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: TypeError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '''functionArgs'' requires a function' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: lambda + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: fun + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: hasFormals + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emptyBindings + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: lambda + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: fun + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: formals + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: formals + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: lambda + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: fun + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: formals + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: formals + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' !!! should optimise booleans (allocate only once)' + scopesEnd: + - comment.line.double-slash +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pos + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: def + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_functionArgs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __functionArgs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a set containing the names of the formal arguments expected' +- source: ' by the function *f*. The value of each attribute is a Boolean' +- source: ' denoting whether the corresponding argument has a default value. For' +- source: ' instance, `functionArgs ({ x, y ? 123}: ...) = { x = false; y =' +- source: ' true; }`.' +- source: ' "Formal argument" here refers to the attributes pattern-matched by' +- source: ' the function. Plain lambdas are not included, e.g. `functionArgs (x:' +- source: ' ...) = { }`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_functionArgs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_mapAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vName + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vFun2 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: vName + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: vFun2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' vName' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vFun2 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alreadySorted + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_mapAttrs + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __mapAttrs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: attrset +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Apply function *f* to every element of *attrset*. For example,' +- source: ' ```nix' +- source: ' builtins.mapAttrs (name: value: value * 10) { a = 1; b = 2; }' +- source: ' ```' +- source: ' evaluates to `{ a = 10; b = 20; }`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_mapAttrs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_zipAttrsWith + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: // + scopesBegin: + - meta.body.function.definition + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' we will first count how many values are present for each given key.' +- source: // + scopes: + - punctuation.definition.comment +- source: ' we then allocate a single attrset and pre-populate it with lists of' +- source: // + scopes: + - punctuation.definition.comment +- source: ' appropriate sizes, stash the pointers to the list elements of each,' +- source: // + scopes: + - punctuation.definition.comment +- source: ' and populate the lists. after that we replace the list in the every' +- source: // + scopes: + - punctuation.definition.comment +- source: ' attribute with the merge function application. this way we need not' +- source: // + scopes: + - punctuation.definition.comment +- source: ' use (slightly slower) temporary storage the GC does not know about.' + scopesEnd: + - comment.line.double-slash +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: map + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: Symbol + scopes: + - meta.qualified_type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: pair + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: size_t + scopes: + - storage.type + - storage.type.built-in +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopesBegin: + - keyword.operator.arithmetic +- source: '*' + scopesEnd: + - keyword.operator.arithmetic +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: attrsSeen + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: listSize + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: listElems + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' listSize' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vElem + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: listElems + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' noPos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: attrsSeen + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ++ + scopes: + - keyword.operator.increment +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'TypeError ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while invoking ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: zipAttrsWith +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: e +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrsSeen + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: sym + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: elem + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: ' attrsSeen' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: list + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sym +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: list +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: elem + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: elem + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: list + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alreadySorted + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' listSize' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vElem + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: listElems + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: attrsSeen + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: ++ + scopes: + - keyword.operator.increment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: attr + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: attrs + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: name + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: call1 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: call1 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' name' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: call2 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: call2 + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: call1 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attr + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: value + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' call2' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_zipAttrsWith + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __zipAttrsWith +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Transpose a list of attribute sets into an attribute set of lists,' +- source: ' then apply `mapAttrs`.' +- source: ' `f` receives two arguments: the attribute name and a non-empty' +- source: ' list of all values encountered for that attribute name.' +- source: ' The result is an attribute set where the attribute names are the' +- source: ' union of the attribute names in each element of `list`. The attribute' +- source: ' values are the return values of `f`.' +- source: ' ```nix' +- source: ' builtins.zipAttrsWith' +- source: ' (name: values: { inherit name values; })' +- source: ' [ { a = "x"; } { a = "y"; b = "z"; } ]' +- source: ' ```' +- source: ' evaluates to' +- source: ' ```' +- source: ' {' +- source: ' a = { name = "a"; values = [ "x" "y" ]; };' +- source: ' b = { name = "b"; values = [ "z" ]; };' +- source: ' }' +- source: ' ```' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_zipAttrsWith' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Lists' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Determine whether the argument is a list. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_isList + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nList' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_isList + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __isList +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if *e* evaluates to a list, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_isList' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elemAt + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: list + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: int + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: list +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'n ' +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: '||' + scopes: + - keyword.operator.logical +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' n ' +- source: '>=' + scopes: + - keyword.operator.comparison +- source: list + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'list index ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: ' is out of bounds' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' n' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: list + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' v ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: list + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the n-1''th element of a list. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_elemAt + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: elemAt + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_elemAt + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __elemAt +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: xs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'n' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return element *n* from the list *xs*. Elements are counted starting' +- source: ' from 0. A fatal error occurs if the index is out of bounds.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_elemAt' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the first element of a list. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_head + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: elemAt + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '0' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_head + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __head +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the first element of a list; abort evaluation if the argument' +- source: ' isn’t a list or is an empty list. You can test whether a list is' +- source: ' empty by comparing it with `[]`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_head' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return a list consisting of everything but the first element of' +- source: ' a list. Warning: this function takes O(n) time, so you probably' +- source: ' don''t want to use it! ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_tail + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '''tail'' called on an empty list' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_tail + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __tail +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the second to last elements of a list; abort evaluation if' +- source: ' the argument isn’t a list or is an empty list.' +- source: ' > **Warning**' +- source: ' >' +- source: ' > This function should generally be avoided since it''s inefficient:' +- source: ' > unlike Haskell''s `tail`, it takes O(n) time, so recursing over a' +- source: ' > list by repeatedly calling `tail` takes O(n^2) time.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_tail' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Apply a function to every element of a list. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_map + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_map + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: map +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Apply the function *f* to each element in the list *list*. For' +- source: ' example,' +- source: ' ```nix' +- source: ' map (x: "foo" + x) [ "bar" "bla" "abc" ]' +- source: ' ```' +- source: ' evaluates to `[ "foobar" "foobla" "fooabc" ]`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_map' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Filter a list using a predicate; that is, return a list containing' +- source: ' every element from the list for which the predicate function' +- source: ' returns true. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_filter + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' FIXME: putting this on the stack is risky.' + scopesEnd: + - comment.line.double-slash +- source: ' Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vs + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: unsigned + scopesBegin: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: k + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: same + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'true' + scopes: + - constant.language.true +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: res + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' res' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' noPos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: vs + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: k +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: ' same ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: same +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' v ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' k' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' k' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: vs + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_filter + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __filter +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a list consisting of the elements of *list* for which the' +- source: ' function *f* returns `true`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_filter' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return true if a list contains a given element. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_elem + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: bool + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: res + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: eqValues + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: ' res ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'true' + scopes: + - constant.language.true +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_elem + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __elem +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: x +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: xs +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if a value equal to *x* occurs in the list *xs*, and' +- source: ' `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_elem' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Concatenate a list of lists. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_concatLists + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: concatLists + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_concatLists + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __concatLists +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: lists +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Concatenate a list of lists into a single list.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_concatLists' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the length of a list. This is an O(1) time operation. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_length + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_length + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __length +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the length of the list *e*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_length' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Reduce a list by applying a binary operator, from left to' +- source: ' right. The operator is applied strictly. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_foldlStrict + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vCur + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: 'n' + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: elem + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: enumerate + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: ' Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' vs []' +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: vCur +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' elem' +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' vCur ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' n ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: '?' + scopes: + - keyword.operator.ternary +- source: '&' + scopes: + - keyword.operator.bitwise +- source: 'v ' +- source: ':' + scopes: + - keyword.operator.ternary +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' vs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vCur +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' v ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_foldlStrict + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __foldl' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: op +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: nul +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Reduce a list by applying a binary operator, from left to right,' +- source: ' e.g. `foldl'' op nul [x0 x1 x2 ...] = op (op (op nul x0) x1) x2)' +- source: ' ...`. The operator is applied strictly, i.e., its arguments are' +- source: ' evaluated first. For example, `foldl'' (x: y: x + y) 0 [1 2 3]`' +- source: ' evaluates to 6.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_foldlStrict' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: anyOrAll + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: bool + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: any + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: EvalState + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: vTmp + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' vTmp' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: res + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vTmp +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'res ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' any' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: any +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '!' + scopes: + - keyword.operator.logical +- source: any +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_any + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: anyOrAll + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' state' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' args' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_any + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __any +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: pred +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if the function *pred* returns `true` for at least one' +- source: ' element of *list*, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_any' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_all + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: anyOrAll + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' state' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' args' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_all + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __all +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: pred +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if the function *pred* returns `true` for all elements' +- source: ' of *list*, and `false` otherwise.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_all' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_genList + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: len + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'len ' +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'cannot create list of size ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' len' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' len' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' len' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: arg + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: arg + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'n' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkApp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' arg' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_genList + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __genList +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: generator +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: length +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Generate list of size *length*, with each element *i* equal to the' +- source: ' value returned by *generator* `i`. For example,' +- source: ' ```nix' +- source: ' builtins.genList (x: x * x) 5' +- source: ' ```' +- source: ' returns the list `[ 0 1 4 9 16 ]`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_genList' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_lessThan + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_sort + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: len + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' len' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' len' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: comparator + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '[' + scopes: + - punctuation.definition.capture.begin.lambda +- source: '&' + scopes: + - meta.lambda.capture + - keyword.operator.bitwise +- source: ']' + scopes: + - punctuation.definition.capture.end.lambda +- source: ( + scopesBegin: + - meta.function.definition.parameters.lambda + scopes: + - punctuation.definition.parameters.begin.lambda +- source: Value + scopesBegin: + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: a + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: b + scopes: + - variable.parameter + scopesEnd: + - meta.parameter +- source: ) + scopes: + - punctuation.definition.parameters.end.lambda + scopesEnd: + - meta.function.definition.parameters.lambda +- source: '{' + scopesBegin: + - meta.function.definition.body.lambda + scopes: + - punctuation.section.block.begin.bracket.curly.lambda +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Optimization: if the comparator is lessThan, bypass' +- source: ' callFunction. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isPrimOp + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '&&' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: primOp + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: fun + scopes: + - variable.other.property +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' prim_lessThan' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: CompareValues + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: state +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: a +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' b' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' Value ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' vs[] ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: a +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' b' +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' Value vBool' +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' vs' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' vBool' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vBool +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.lambda + scopesEnd: + - meta.function.definition.body.lambda +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' FIXME: std::sort can segfault if the comparator is not a strict' +- source: ' weak ordering. What to do? std::stable_sort() seems more' +- source: ' resilient, but no guarantees... ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: stable_sort + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: ' len' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' comparator' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_sort + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __sort +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: comparator +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return *list* in sorted order. It repeatedly calls the function' +- source: ' *comparator* with two elements. The comparator should return `true`' +- source: ' if the first element is less than the second, and `false` otherwise.' +- source: ' For example,' +- source: ' ```nix' +- source: ' builtins.sort builtins.lessThan [ 483 249 526 147 42 77 ]' +- source: ' ```' +- source: ' produces the list `[ 42 77 147 249 483 526 ]`.' +- source: ' This is a stable sort: it preserves the relative order of elements' +- source: ' deemed equal by the comparator.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_sort' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_partition + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: len + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' ValueVector right' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' wrong' +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' len' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: vElem + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: res + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' res' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: right + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vElem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: wrong + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vElem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: vRight + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sRight + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: rsize + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: right + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vRight +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' rsize' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: rsize +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: memcpy + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: vRight + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: right + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: data + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sizeof + scopes: + - keyword.operator.functionlike + - keyword.operator.sizeof +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.operator.sizeof +- source: 'Value ' + scopesBegin: + - meta.arguments.operator.sizeof +- source: '*' + scopes: + - keyword.operator.arithmetic + scopesEnd: + - meta.arguments.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.operator.sizeof +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' rsize' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: vWrong + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sWrong + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: wsize + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: wrong + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vWrong +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' wsize' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: wsize +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: memcpy + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: vWrong + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: wrong + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: data + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sizeof + scopes: + - keyword.operator.functionlike + - keyword.operator.sizeof +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.operator.sizeof +- source: 'Value ' + scopesBegin: + - meta.arguments.operator.sizeof +- source: '*' + scopes: + - keyword.operator.arithmetic + scopesEnd: + - meta.arguments.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.operator.sizeof +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' wsize' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_partition + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __partition +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: pred +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Given a predicate function *pred*, this function returns an' +- source: ' attrset containing a list named `right`, containing the elements' +- source: ' in *list* for which *pred* returned `true`, and a list named' +- source: ' `wrong`, containing the elements for which it returned' +- source: ' `false`. For example,' +- source: ' ```nix' +- source: ' builtins.partition (x: x > 10) [1 23 9 3 42]' +- source: ' ```' +- source: ' evaluates to' +- source: ' ```nix' +- source: ' { right = [ 23 42 ]; wrong = [ 1 9 3 ]; }' +- source: ' ```' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_partition' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_groupBy + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ValueVectorMap + scopes: + - meta.qualified_type + - entity.name.type +- source: attrs + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: vElem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: res + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' res' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: sym + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: symbols + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: name +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: vector + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: try_emplace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sym +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ValueVector + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: vector + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: vElem +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs2 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' attrs' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: list + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: attrs2 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: size + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: list +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' size' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: memcpy + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: list + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: data + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sizeof + scopes: + - keyword.operator.functionlike + - keyword.operator.sizeof +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.operator.sizeof +- source: 'Value ' + scopesBegin: + - meta.arguments.operator.sizeof +- source: '*' + scopes: + - keyword.operator.arithmetic + scopesEnd: + - meta.arguments.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.operator.sizeof +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' size' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs2 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alreadySorted + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_groupBy + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __groupBy +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Groups elements of *list* together by the string returned from the' +- source: ' function *f* called on each element. It returns an attribute set' +- source: ' where each attribute value contains the elements of *list* that are' +- source: ' mapped to the same corresponding attribute name returned by *f*.' +- source: ' For example,' +- source: ' ```nix' +- source: ' builtins.groupBy (builtins.substring 0 1) ["foo" "bar" "baz"]' +- source: ' ```' +- source: ' evaluates to' +- source: ' ```nix' +- source: ' { b = [ "bar" "baz" ]; f = [ "foo" ]; }' +- source: ' ```' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_groupBy' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_concatMap + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: nrLists + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' Value ' +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: nrLists +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: size_t + scopes: + - meta.qualified_type + - storage.type + - storage.type.built-in +- source: len + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' nrLists' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: vElem + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: callFunction + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vElem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: determinePos + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: determinePos + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'TypeError ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: e +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: addTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: while invoking ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: concatMap +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: e +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ' len ' +- source: += + scopes: + - keyword.operator.assignment.compound +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' len' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: out + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - meta.parens.control.for + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' n ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' n ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' nrLists' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: 'n' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: l + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: l +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: memcpy + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'out ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: ' pos' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: lists + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' l ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: sizeof + scopes: + - keyword.operator.functionlike + - keyword.operator.sizeof +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.operator.sizeof +- source: 'Value ' + scopesBegin: + - meta.arguments.operator.sizeof +- source: '*' + scopes: + - keyword.operator.arithmetic + scopesEnd: + - meta.arguments.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' pos ' +- source: += + scopes: + - keyword.operator.assignment.compound +- source: ' l' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_concatMap + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __concatMap +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: f +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' This function is equivalent to `builtins.concatLists (map f list)`' +- source: ' but is more efficient.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_concatMap' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Integer arithmetic' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_add + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat ' +- source: '||' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_add + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __add +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the sum of the numbers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_add' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_sub + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat ' +- source: '||' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_sub + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __sub +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the difference between the numbers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_sub' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_mul + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat ' +- source: '||' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_mul + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __mul +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the product of the numbers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_mul' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_div + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: NixFloat + scopes: + - meta.qualified_type + - entity.name.type +- source: f2 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'f2 ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: division by zero +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat ' +- source: '||' + scopes: + - keyword.operator.logical +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: type + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: ' nFloat' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: / + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceFloat + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: NixInt + scopes: + - meta.qualified_type + - entity.name.type +- source: i1 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: NixInt + scopes: + - meta.qualified_type + - entity.name.type +- source: i2 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Avoid division overflow as it might raise SIGFPE. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'i1 ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: numeric_limits + scopes: + - entity.name.scope-resolution.function.call +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: NixInt + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: min + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '&&' + scopes: + - keyword.operator.logical +- source: ' i2 ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: overflow in integer division +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'i1 ' +- source: / + scopes: + - keyword.operator.arithmetic +- source: ' i2' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_div + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __div +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the quotient of the numbers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_div' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_bitAnd + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: v + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '&' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_bitAnd + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __bitAnd +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the bitwise AND of the integers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_bitAnd' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_bitOr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: v + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '|' + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_bitOr + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __bitOr +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the bitwise OR of the integers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_bitOr' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_bitXor + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: v + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ^ + scopes: + - keyword.operator.bitwise +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_bitXor + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __bitXor +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the bitwise XOR of the integers *e1* and *e2*.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_bitXor' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_lessThan + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' CompareValues comp' +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: state +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: comp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_lessThan + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __lessThan +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return `true` if the number *e1* is less than the number *e2*, and' +- source: ' `false` otherwise. Evaluation aborts if either *e1* or *e2* does not' +- source: ' evaluate to a number.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_lessThan' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * String manipulation' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Convert the argument to a string. Paths are *not* copied to the' +- source: ' store, so `toString /foo/bar'' yields `"/foo/bar"'', not' +- source: ' `"/nix/store/whatever..."''. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_toString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'true' + scopes: + - constant.language.true +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: s +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_toString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: toString +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Convert the expression *e* to a string. *e* can be:' +- source: ' - A string (in which case the string is returned unmodified).' +- source: ' - A path (e.g., `toString /foo/bar` yields `"/foo/bar"`.' +- source: ' - A set containing `{ __toString = self: ...; }` or `{ outPath = ...; }`.' +- source: ' - An integer.' +- source: ' - A list, in which case the string representations of its elements' +- source: ' are joined with spaces.' +- source: ' - A Boolean (`false` yields `""`, `true` yields `"1"`).' +- source: ' - `null`, which yields the empty string.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_toString' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' `substring start len str'' returns the substring of `str'' starting' +- source: ' at character position `min(start, stringLength str)'' inclusive and' +- source: ' ending at `min(start + len, stringLength str)''. `start'' must be' +- source: ' non-negative. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_substring + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: int + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: start + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: len + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'start ' +- source: < + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: negative start position in 'substring' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: unsigned + scopesBegin: + - storage.type.primitive + - storage.type.built-in.primitive +- source: int + scopesEnd: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' start ' +- source: '>=' + scopes: + - keyword.operator.comparison +- source: s + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '?' + scopes: + - keyword.operator.ternary +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ':' + scopes: + - keyword.operator.ternary +- source: s + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: substr + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: start +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' len' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_substring + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __substring +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: start +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: len +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the substring of *s* from character position *start*' +- source: ' (zero-based) up to but not including *start + len*. If *start* is' +- source: ' greater than the length of the string, an empty string is returned,' +- source: ' and if *start + len* lies beyond the end of the string, only the' +- source: ' substring up to the end of the string is returned. *start* must be' +- source: ' non-negative. For example,' +- source: ' ```nix' +- source: ' builtins.substring 0 3 "nixos"' +- source: ' ```' +- source: ' evaluates to `"nix"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_substring' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_stringLength + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: s + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_stringLength + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __stringLength +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: e +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return the length of the string *e*. If *e* is not a string,' +- source: ' evaluation is aborted.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_stringLength' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Return the cryptographic hash of a string in base-16. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_hashString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: type + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: optional + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: HashType + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: ht + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: parseHashType + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: type +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: ht +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Error + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: unknown hash type ' +- source: '%1%' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' type' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' discarded' + scopesEnd: + - comment.line.double-slash +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: hashString + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ht +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' s' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: to_string + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Base16 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_hashString + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __hashString +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: type +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Return a base-16 representation of the cryptographic hash of string' +- source: ' *s*. The hash algorithm specified by *type* must be one of `"md5"`,' +- source: ' `"sha1"`, `"sha256"` or `"sha512"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_hashString' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: struct + scopesBegin: + - meta.block.struct + scopes: + - meta.head.struct + - storage.type.struct +- source: RegexCache + scopes: + - entity.name.type.struct +- source: '{' + scopes: + - meta.head.struct + - punctuation.section.block.begin.bracket.curly.struct +- source: // + scopesBegin: + - meta.body.struct + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' TODO use C++20 transparent comparison when available' + scopesEnd: + - comment.line.double-slash +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: unordered_map +- source: < + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string_view +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex +- source: '>' + scopes: + - keyword.operator.comparison +- source: ' cache' +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: list +- source: < + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string +- source: '>' + scopes: + - keyword.operator.comparison +- source: ' keys' +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.function.definition + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: get + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: std + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.scope-resolution.parameter +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.parameter +- source: string_view + scopes: + - entity.name.type.parameter +- source: re + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: it + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: cache + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: find + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'it ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: cache + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: it + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: keys + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: cache + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: keys + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: keys + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: extended +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.struct + scopesEnd: + - meta.body.struct +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.struct +- source: std + scopesBegin: + - meta.function.definition + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: shared_ptr + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: RegexCache + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: makeRegexCache + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: return + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.return +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: make_shared + scopes: + - entity.name.function.call +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: RegexCache + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_match + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: re + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: regex + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: regexCache + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: get + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: str + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cmatch + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: match + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: regex_match + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: str + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: str + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' match' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' regex' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkNull + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' the first match is the whole string' + scopesEnd: + - comment.line.double-slash +- source: const + scopes: + - storage.modifier.specifier.const +- source: size_t + scopes: + - meta.qualified_type + - storage.type + - storage.type.built-in +- source: len + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: match + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' len' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: size_t + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type + - storage.type.built-in +- source: ' i ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' i ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' len' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: i + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: match + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: matched + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkNull + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: match + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'i ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'regex_error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: code + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex_constants + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: error_space +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' limit is _GLIBCXX_REGEX_STATE_LIMIT for libstdc++' + scopesEnd: + - comment.line.double-slash +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: memory limit exceeded by regular expression ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' re' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: invalid regular expression ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' re' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_match + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __match +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: regex +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: str +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"s(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Returns a list if the [extended POSIX regular' +- source: ' expression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04)' +- source: ' *regex* matches *str* precisely, otherwise returns `null`. Each item' +- source: ' in the list is a regex group.' +- source: ' ```nix' +- source: ' builtins.match "ab" "abc"' +- source: ' ```' +- source: ' Evaluates to `null`.' +- source: ' ```nix' +- source: ' builtins.match "abc" "abc"' +- source: ' ```' +- source: ' Evaluates to `[ ]`.' +- source: ' ```nix' +- source: ' builtins.match "a(b)(c)" "abc"' +- source: ' ```' +- source: ' Evaluates to `[ "b" "c" ]`.' +- source: ' ```nix' +- source: ' builtins.match "[[:space:]]+([[:upper:]]+)[[:space:]]+" " FOO "' +- source: ' ```' +- source: ' Evaluates to `[ "FOO" ]`.' +- source: )s" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_match' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Split a string with a regular expression, and return a list of the' +- source: ' non-matching parts interleaved by the lists of the matching groups. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_split + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: re + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: try + scopes: + - keyword.control.try +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: regex + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: regexCache + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: get + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: re +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: const + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: str + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: begin + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cregex_iterator + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: str + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: str + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' regex' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: end + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: cregex_iterator + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Any matches results are surrounded by non-matching results.' + scopesEnd: + - comment.line.double-slash +- source: const + scopes: + - storage.modifier.specifier.const +- source: size_t + scopes: + - meta.qualified_type + - storage.type + - storage.type.built-in +- source: len + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: distance + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: begin +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' end' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' len ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: size_t + scopes: + - meta.qualified_type + - storage.type + - storage.type.built-in +- source: idx + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'len ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: idx +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' i ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' begin' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' i ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: ' end' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: i + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: assert + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'idx ' +- source: <= + scopes: + - keyword.operator.comparison +- source: '2' + scopes: + - constant.numeric.decimal +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' len ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '3' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: match + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Add a string for non-matched characters.' + scopesEnd: + - comment.line.double-slash +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: idx +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: match + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: prefix + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Add a list for matched substrings.' + scopesEnd: + - comment.line.double-slash +- source: const + scopes: + - storage.modifier.specifier.const +- source: size_t + scopes: + - meta.qualified_type + - storage.type + - storage.type.built-in +- source: slen + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: match + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '-' + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: idx +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Start at 1, beacause the first match is the whole string.' + scopesEnd: + - comment.line.double-slash +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' slen' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: size_t + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type + - storage.type.built-in +- source: ' si ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' si ' +- source: < + scopes: + - keyword.operator.comparison +- source: ' slen' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: si + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: match + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'si ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: matched + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: elem + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: si +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkNull + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: elem + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: si +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: match + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: 'si ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Add a string for non-matched suffix characters.' + scopesEnd: + - comment.line.double-slash +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'idx ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '2' + scopes: + - constant.numeric.decimal +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' len' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: idx +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: match + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: suffix + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: str + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: assert + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'idx ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: '2' + scopes: + - constant.numeric.decimal +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ' len ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: catch + scopes: + - keyword.control.catch +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'regex_error ' +- source: '&' + scopes: + - keyword.operator.bitwise +- source: ' e' +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: e + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: code + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: regex_constants + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: error_space +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' limit is _GLIBCXX_REGEX_STATE_LIMIT for libstdc++' + scopesEnd: + - comment.line.double-slash +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: memory limit exceeded by regular expression ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' re' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: invalid regular expression ' +- source: '%s' + scopes: + - constant.other.placeholder +- source: '''' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' re' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_split + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __split +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: regex +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: str +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"s(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Returns a list composed of non matched strings interleaved with the' +- source: ' lists of the [extended POSIX regular' +- source: ' expression](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04)' +- source: ' *regex* matches of *str*. Each item in the lists of matched' +- source: ' sequences is a regex group.' +- source: ' ```nix' +- source: ' builtins.split "(a)b" "abc"' +- source: ' ```' +- source: ' Evaluates to `[ "" [ "a" ] "c" ]`.' +- source: ' ```nix' +- source: ' builtins.split "([ac])" "abc"' +- source: ' ```' +- source: ' Evaluates to `[ "" [ "a" ] "b" [ "c" ] "" ]`.' +- source: ' ```nix' +- source: ' builtins.split "(a)|(c)" "abc"' +- source: ' ```' +- source: ' Evaluates to `[ "" [ "a" null ] "b" [ null "c" ] "" ]`.' +- source: ' ```nix' +- source: ' builtins.split "([[:upper:]]+)" " FOO "' +- source: ' ```' +- source: ' Evaluates to `[ " " [ "FOO" ] " " ]`.' +- source: )s" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_split' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_concatStringsSep + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: PathSet + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: sep + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: res + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: res + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: reserve + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: + + scopes: + - keyword.operator.arithmetic +- source: '32' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: sep + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: bool + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: first + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'true' + scopes: + - constant.language.true +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: first +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' first ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: ' res ' +- source: += + scopes: + - keyword.operator.assignment.compound +- source: ' sep' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' res ' +- source: += + scopes: + - keyword.operator.assignment.compound +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: coerceToString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: pos +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_concatStringsSep + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __concatStringsSep +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: separator +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: list +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Concatenate a list of strings with a separator between each' +- source: ' element, e.g. `concatStringsSep "/" ["usr" "local" "bin"] ==' +- source: ' "usr/local/bin"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_concatStringsSep' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_replaceStrings + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: state + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '!=' + scopes: + - keyword.operator.comparison +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: debugThrowLastTrace + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: EvalError + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .msg ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: hintfmt + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '''from'' and ''to'' arguments to ''replaceStrings'' have different lengths' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .errPos ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: positions + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: pos +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: from + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: from + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: reserve + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: from + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: pair + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: std + scopes: + - entity.name.scope-resolution.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: ',' + scopes: + - punctuation.separator.delimiter.comma.template.argument +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: to + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: to + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: reserve + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listSize + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: elem + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: listItems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: ctx + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: elem +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' ctx' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: to + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: s +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ctx +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: PathSet + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: s + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '2' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: res + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Loops one past last character to handle the case where ''from'' contains an empty string.' + scopesEnd: + - comment.line.double-slash +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: size_t + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type + - storage.type.built-in +- source: ' p ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' p ' +- source: <= + scopes: + - keyword.operator.comparison +- source: s + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: bool + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: found + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'false' + scopes: + - constant.language.false +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: i + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: from + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: j + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: to + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: begin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: ; + scopesBegin: + - meta.parens.control.for + scopes: + - punctuation.terminator.statement +- source: ' i ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: from + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: end + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ++ + scopes: + - keyword.operator.increment +- source: i +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ++ + scopes: + - keyword.operator.increment +- source: j + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: s + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: compare + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: p +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: i +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '==' + scopes: + - keyword.operator.comparison +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: ' found ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: 'true' + scopes: + - constant.language.true +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' res ' +- source: += + scopes: + - keyword.operator.assignment.compound +- source: j + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: first + scopes: + - variable.other.property +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'p ' +- source: < + scopes: + - keyword.operator.comparison +- source: s + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' res ' +- source: += + scopes: + - keyword.operator.assignment.compound +- source: s + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: p +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' p' +- source: ++ + scopes: + - keyword.operator.increment +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: ' p ' +- source: += + scopes: + - keyword.operator.assignment.compound +- source: i + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: path + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: j + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.other.property + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: context + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: path +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: j + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: second + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: clear + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: found +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'p ' +- source: < + scopes: + - keyword.operator.comparison +- source: s + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' res ' +- source: += + scopes: + - keyword.operator.assignment.compound +- source: s + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: p +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' p' +- source: ++ + scopes: + - keyword.operator.increment +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: res +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' context' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_replaceStrings + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __replaceStrings +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: from +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: to +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Given string *s*, replace every occurrence of the strings in *from*' +- source: ' with the corresponding string in *to*. For example,' +- source: ' ```nix' +- source: ' builtins.replaceStrings ["oo" "a"] ["a" "i"] "foobar"' +- source: ' ```' +- source: ' evaluates to `"fabir"`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_replaceStrings' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Versions' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_parseDrvName + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: name + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' DrvName' +- source: parsed + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: name +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: buildBindings + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: sName + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: parsed + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: version +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: parsed + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: version + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_parseDrvName + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __parseDrvName +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Split the string *s* into a package name and version. The package' +- source: ' name is everything up to but not including the first dash followed' +- source: ' by a digit, and the version is everything following that dash. The' +- source: ' result is returned in a set `{ name, version }`. Thus,' +- source: ' `builtins.parseDrvName "nix-0.12pre12876"` returns `{ name =' +- source: ' "nix"; version = "0.12pre12876"; }`.' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_parseDrvName' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_compareVersions + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: version1 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: version2 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: compareVersions + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: version1 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' version2' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_compareVersions + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __compareVersions +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s1 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s2 +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma + scopesEnd: + - meta.parameter +- source: ' .' +- source: doc + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Compare two strings representing versions and return `-1` if' +- source: ' version *s1* is older than version *s2*, `0` if they are the same,' +- source: ' and `1` if *s1* is newer than *s2*. The version comparison' +- source: ' algorithm is the same as the one used by [`nix-env' +- source: ' -u`](../command-ref/nix-env.md#operation---upgrade).' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_compareVersions' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: prim_splitVersion + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: EvalState + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: state + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: PosIdx + scopes: + - entity.name.type.parameter +- source: pos + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: args + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Value + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: v + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: auto + scopesBegin: + - meta.body.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: version + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: forceStringNoCtx + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: args + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' pos' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: iter + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: version + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: cbegin + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: Strings + scopes: + - meta.qualified_type + - entity.name.type +- source: components + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: while + scopes: + - keyword.control.while +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'iter ' +- source: '!=' + scopes: + - keyword.operator.comparison +- source: version + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: cend + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: component + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: nextComponent + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: iter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: version + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: cend + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: component + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: components + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: emplace_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: component +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkList + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: components + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: const + scopesBegin: + - meta.parens.control.for + - meta.binding + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.binding +- source: 'n' + scopes: + - variable.other.for +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: component + scopes: + - variable.other.for +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.binding +- source: ':' + scopes: + - punctuation.separator.colon.range-based + scopesEnd: + - meta.binding +- source: enumerate + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: components +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: state + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: allocValue + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: component +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: static + scopes: + - storage.modifier.static +- source: RegisterPrimOp + scopes: + - meta.qualified_type + - entity.name.type +- source: primop_splitVersion + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '{' + scopesBegin: + - meta.function.definition.parameters +- source: ' .' +- source: name + scopesBegin: + - meta.parameter + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __splitVersion +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: args + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {' +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: s +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: doc + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: R + scopesBegin: + - string.quoted.double.raw + - punctuation.definition.string.begin + scopes: + - meta.encoding +- source: '"(' + scopesEnd: + - punctuation.definition.string.begin +- source: ' Split a string representing a version into its components, by the' +- source: ' same version splitting logic underlying the version comparison in' +- source: ' [`nix-env -u`](../command-ref/nix-env.md#operation---upgrade).' +- source: )" + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.raw +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .' +- source: fun + scopes: + - variable.parameter +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' prim_splitVersion' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '}' + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: /************************************************************* + scopesBegin: + - comment.block.documentation + scopes: + - punctuation.definition.comment.begin.documentation +- source: ' * Primop registration' +- source: '*************************************************************/' + scopes: + - punctuation.definition.comment.end.documentation + scopesEnd: + - comment.block.documentation +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'PrimOps ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: primOps +- source: ; + scopes: + - punctuation.terminator.statement +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: RegisterPrimOp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string name +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: size_t + scopes: + - storage.type + - storage.type.built-in +- source: ' arity' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' PrimOpFun fun' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: primOps +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' primOps ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: new + scopes: + - keyword.operator.wordlike + - keyword.operator.new +- source: ' PrimOps' +- source: ; + scopes: + - punctuation.terminator.statement +- source: primOps + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '{' +- source: ' .name ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' name' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .args ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' {}' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .arity ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' arity' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .fun ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' fun' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: RegisterPrimOp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'Info ' +- source: '&&' + scopes: + - keyword.operator.logical +- source: ' info' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: primOps +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' primOps ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: new + scopes: + - keyword.operator.wordlike + - keyword.operator.new +- source: ' PrimOps' +- source: ; + scopes: + - punctuation.terminator.statement +- source: primOps + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: push_back + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: std + scopes: + - entity.name.scope-resolution.function.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.call +- source: move + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: info +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: EvalState + scopes: + - entity.name.scope-resolution.function.definition +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution.function.definition +- source: createBaseEnv + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: baseEnv + scopesBegin: + - meta.body.function.definition + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: up + scopes: + - variable.other.property +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add global constants such as `true'' to the base environment. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: Value + scopes: + - meta.qualified_type + - entity.name.type +- source: v + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' `builtins'' must be first! ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: buildBindings + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '128' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: . + scopes: + - punctuation.separator.dot-access +- source: finish + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: builtins +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'true' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkBool + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: 'false' + scopes: + - constant.language.false +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'false' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkNull + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'null' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: evalSettings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: pureEval + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: time + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __currentTime +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: settings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: thisSystem + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: get + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __currentSystem +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: nixVersion +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __nixVersion +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: store + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: storeDir + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __storeDir +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Language version. This should be increased every time a new' +- source: ' language feature gets added. It''s not necessary to increase it' +- source: ' when primops get added, because you can just use `builtins ?' +- source: ' primOp'' to check. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkInt + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '6' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __langVersion +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Miscellaneous' + scopesEnd: + - comment.line.double-slash +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: evalSettings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: enableNativeCode + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: addPrimOp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __importNative +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' prim_importNative' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: addPrimOp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __exec +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '1' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' prim_exec' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add a value containing the current Nix expression search path. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: mkList + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: v +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: searchPath + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: 'n' + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: i + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' searchPath' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: attrs + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: buildBindings + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '2' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: path +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: second + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: attrs + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: alloc + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: prefix +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: . + scopes: + - punctuation.separator.dot-access +- source: mkString + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: i + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: first + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: v + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: listElems + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: 'n' +- source: ++ + scopes: + - keyword.operator.increment +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: allocValue + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: mkAttrs + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: attrs +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: __nixPath +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' v' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: primOps +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: auto + scopesBegin: + - meta.parens.control.for + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: primOp + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: RegisterPrimOp + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: primOps + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: primOp + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: experimentalFeature + scopes: + - variable.other.property +- source: '||' + scopes: + - keyword.operator.logical +- source: settings + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: isExperimentalFeatureEnabled + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: primOp + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: experimentalFeature + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: addPrimOp + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '{' +- source: ' .fun ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: primOp + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: fun + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .arity ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: max + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: primOp + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: args + scopes: + - variable.other.object.property +- source: . + scopes: + - punctuation.separator.dot-access +- source: size + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: primOp + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: arity + scopes: + - variable.other.property +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .name ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: primOp + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: name + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .args ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: primOp + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: args + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' .doc ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: primOp + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: doc + scopes: + - variable.other.property +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' }' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Add a wrapper around the derivation primop that computes the' +- source: ' `drvPath'' and `outPath'' attributes lazily. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: ' sDerivationNix ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: symbols + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: create + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: derivationNixPath +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: vDerivation + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: allocValue + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: addConstant + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: derivation +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' vDerivation' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Now that we''ve added all primops, sort the `builtins'' set,' +- source: ' because attribute lookups expect it to be sorted. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: baseEnv + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: values + scopes: + - variable.other.property +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: attrs + scopes: + - variable.other.object.property +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: sort + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: staticBaseEnv + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: sort + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' Note: we have to initialize the ''derivation'' constant *after*' +- source: ' building baseEnv/staticBaseEnv because it uses ''builtins''. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: char + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' code[] ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: primops/derivation.nix.gen.hh +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' the parser needs two NUL bytes as terminators; one of them' +- source: // + scopes: + - punctuation.definition.comment +- source: ' is implied by being a C string.' + scopesEnd: + - comment.line.double-slash +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: \0 + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: eval + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: parse + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: code +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: sizeof + scopes: + - keyword.operator.functionlike + - keyword.operator.sizeof +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.operator.sizeof +- source: code + scopes: + - meta.arguments.operator.sizeof +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.operator.sizeof +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' foFile' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' derivationNixPath' +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: / +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' staticBaseEnv' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: vDerivation +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.namespace diff --git a/language_examples/test.spec.yaml b/language_examples/test.spec.yaml index 844b7596..cd39a8fa 100644 --- a/language_examples/test.spec.yaml +++ b/language_examples/test.spec.yaml @@ -54,6 +54,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: int + scopesBegin: + - meta.parens.control.for scopes: - storage.type.primitive - storage.type.built-in.primitive @@ -79,6 +81,8 @@ scopes: - keyword.operator.increment - source: i + scopesEnd: + - meta.parens.control.for - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -287,7 +291,13 @@ - source: ' everything from this point on is interpeted as a string literal...' scopesEnd: - comment.line.double-slash -- source: ' O x' +- source: O + scopes: + - meta.qualified_type + - entity.name.type +- source: x + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/theme_demo.spec.yaml b/language_examples/theme_demo.spec.yaml index 4dee51f8..d373638d 100644 --- a/language_examples/theme_demo.spec.yaml +++ b/language_examples/theme_demo.spec.yaml @@ -206,9 +206,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -227,9 +230,12 @@ - punctuation.terminator.statement - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' c ' +- source: c + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -775,9 +781,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a_lambda ' +- source: a_lambda + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -886,9 +895,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing ' +- source: thing + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/theme_demo2.spec.yaml b/language_examples/theme_demo2.spec.yaml index 97dc3e0e..44e74394 100644 --- a/language_examples/theme_demo2.spec.yaml +++ b/language_examples/theme_demo2.spec.yaml @@ -1250,9 +1250,12 @@ - comment.line.double-slash - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing ' +- source: thing + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/main/main.rb b/main/main.rb index 7ddf1ef2..0691b248 100644 --- a/main/main.rb +++ b/main/main.rb @@ -68,6 +68,17 @@ match: /\=/, tag_as: "keyword.operator.assignment", ) + assignment_operators = oneOf([ + Pattern.new( + match: /%=|\+=|-=|\*=|(?>=|\|=/, + tag_as: "keyword.operator.assignment.compound.bitwise" + ), + assignment_operator, + ]) array_brackets = Pattern.new( match: /\[/, tag_as: "punctuation.definition.begin.bracket.square" @@ -222,6 +233,9 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # this shouldn't be in $initial_context (it will eventually be removed), and it shouldn't really be in function body either :evaluation_context, ) + [ + :over_qualified_types, + :normal_variable_assignment, + :normal_variable_declaration, # functions can exclusively contain theses: # TODO: fill out all of the statements here, variable declares, assignment, etc # control flow @@ -325,6 +339,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: *doxygen(variable_name), *grammar[:comments] ] + # # Constants # @@ -546,7 +561,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: /\)/, tag_as: 'punctuation.section.parens.end.bracket.round.conditional.switch' ), - includes: [ :evaluation_context, ] + includes: [ :range_for_inner, :evaluation_context, ] ) grammar[:switch_statement] = generateBlockFinder( name: "switch", @@ -1017,6 +1032,29 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ), ], ) + normal_type_pattern = maybe(declaration_storage_specifiers.then(std_space)).then(qualified_type.maybe(ref_deref[])) + # normal variable assignment + grammar[:normal_variable_assignment] = Pattern.new( + Pattern.new(/^/).then(std_space).then( + normal_type_pattern + ).then(std_space).then( + tag_as: "variable.other.assignment", + match: identifier, + ).then(std_space).then( + assignment_operators + ) + ) + # normal variable declaration + grammar[:normal_variable_declaration] = Pattern.new( + Pattern.new(/^/).then(std_space).then( + normal_type_pattern + ).then(std_space).then( + tag_as: "variable.other.object.declare", + match: identifier, + ).then(std_space).then( + @semicolon + ) + ) # TODO: create a :type that includes inline function-pointer types and array types grammar[:simple_type] = qualified_type.maybe(ref_deref[]) grammar[:type_alias] = Pattern.new( @@ -1319,6 +1357,22 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: "punctuation.section.arguments.end.bracket.curly.initializer", ), includes: [ + PatternRange.new( + tag_as: "meta.initialization.parameter", + start_pattern: Pattern.new( + Pattern.new( + tag_as: "punctuation.accessor.initializer variable.parameter.initializer", + match: ".", + ).then( + tag_as: "variable.parameter.initializer", + match: identifier, + ) + ), + end_pattern: grammar[:comma].or(lookAheadFor(/\}/)), + includes: [ + :evaluation_context, + ], + ), :evaluation_context, :comma ] @@ -1604,14 +1658,6 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: /\+\+/, tag_as: "keyword.operator.increment" ), - Pattern.new( - match: /%=|\+=|-=|\*=|(?>=|\|=/, - tag_as: "keyword.operator.assignment.compound.bitwise" - ), Pattern.new( match: /<<|>>/, tag_as: "keyword.operator.bitwise.shift" @@ -1628,7 +1674,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: /&|\||\^|~/, tag_as: "keyword.operator.bitwise" ), - :assignment_operator, + assignment_operators, Pattern.new( match: /%|\*|\/|-|\+/, tag_as: "keyword.operator.arithmetic" @@ -2407,6 +2453,58 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # grammar[:assembly] = assembly_pattern(std_space, identifier) grammar[:backslash_escapes] = backslash_escapes() + grammar[:range_for_inner] = PatternRange.new( + tag_as: "meta.parens.control.for", + start_pattern: Pattern.new( + lookBehindFor(/\Wfor \(|^for \(|\Wfor\(|^for\(/), # lookbehinds must be a fixed length otherwise \s* would've been used + ), + end_pattern: lookAheadFor(/\)/), + includes: [ + # normal ranged for loop + Pattern.new( + Pattern.new( + tag_as: "meta.type", + match: normal_type_pattern, + ).then(std_space).then( + match: identifier, + tag_as: "variable.other.object.declare.for", + ).then(std_space).then( + match: /:/, + tag_as: "punctuation.separator.colon.range-based" + ).lookAheadToAvoid(/:/), + ), + # tuple ranged for loop + Pattern.new( + tag_as: "meta.binding", + match: Pattern.new( + Pattern.new( + tag_as: "meta.type", + match: normal_type_pattern, + ).then(std_space).then( + match: '[', + tag_as: "punctuation.definition.begin.bracket.square.binding", + ).then(std_space).then( + Pattern.new( + match: identifier, + tag_as: "variable.other.for", + ).zeroOrMoreOf( + std_space.then(grammar[:comma]).then(std_space).then( + match: identifier, + tag_as: "variable.other.for", + ) + ) + ).then(std_space).then( + match: ']', + tag_as: "punctuation.definition.end.bracket.square.binding", + ).then(std_space).then( + match: /:/, + tag_as: "punctuation.separator.colon.range-based" + ).lookAheadToAvoid(/:/), + ) + ), + :evaluation_context, + ], + ) # # Misc Legacy # @@ -2527,7 +2625,9 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: /}/, tag_as: "punctuation.section.block.end.bracket.curly" ), - includes: [:function_body_context] + includes: [ + :function_body_context + ] ) grammar[:line_continuation_character] = Pattern.new( match: /\\\n/, @@ -2544,6 +2644,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: "punctuation.section.parens.end.bracket.round" ), includes: [ + :range_for_inner, # TODO: for typecasting (eventually this should be replaced) :over_qualified_types, # TODO: for range-based for loops (eventually this should be replaced) diff --git a/package-lock.json b/package-lock.json index 223bad01..3ef50515 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "better-cpp-syntax", - "version": "1.17.5", + "version": "1.17.6", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "better-cpp-syntax", - "version": "1.17.5", + "version": "1.17.6", "devDependencies": { "chalk": "^2.4.2", "dictionary-en-us": "^2.1.1", diff --git a/package.json b/package.json index 12749011..21c6ea15 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.17.6", + "version": "1.20.0", "icon": "icon.png", "scripts": {}, "keywords": [ From affcf5a4e2744a8c112857acd0bf01312a83e608 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Wed, 9 Aug 2023 15:07:36 -0500 Subject: [PATCH 30/65] - --- commands/project/publish | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/commands/project/publish b/commands/project/publish index 2a4839cf..d9121d48 100755 --- a/commands/project/publish +++ b/commands/project/publish @@ -1,4 +1,4 @@ #!/usr/bin/env bash -# vsce publish --pat "$1" && echo "published on VSCE" +vsce publish --pat "$1" && echo "published on VSCE" ovsx publish -p "$2" && echo "published on OVSX" From 401d7c20a4379ad88a21b058a0aa9b77bdbb11a6 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Wed, 9 Aug 2023 15:42:52 -0500 Subject: [PATCH 31/65] fix #641 --- autogenerated/cpp.tmLanguage.json | 2 +- language_examples/#641.cpp | 11 ++ language_examples/#641.spec.yaml | 190 ++++++++++++++++++++++++++++++ main/patterns/preprocessor.rb | 2 +- package-lock.json | 4 +- package.json | 2 +- 6 files changed, 206 insertions(+), 5 deletions(-) create mode 100644 language_examples/#641.cpp create mode 100644 language_examples/#641.spec.yaml diff --git a/autogenerated/cpp.tmLanguage.json b/autogenerated/cpp.tmLanguage.json index 9342c93a..920f4b84 100644 --- a/autogenerated/cpp.tmLanguage.json +++ b/autogenerated/cpp.tmLanguage.json @@ -11583,7 +11583,7 @@ ] }, "preprocessor_conditional_standalone": { - "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?((? + +int main(int argc, const char ** argv) +{ + #ifdef _WIN32 + std::cout << "Hello World Windows" << std::endl; + #elifdef __linux__ + std::cout << "Hello World Linux" << std::endl; + #endif + return 0; +} \ No newline at end of file diff --git a/language_examples/#641.spec.yaml b/language_examples/#641.spec.yaml new file mode 100644 index 00000000..635f0fc0 --- /dev/null +++ b/language_examples/#641.spec.yaml @@ -0,0 +1,190 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: iostream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.other.lt-gt.include +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: main + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: int + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: argc + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: const + scopes: + - storage.modifier.specifier.const +- source: char + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: argv + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: '#' + scopesBegin: + - meta.body.function.definition + - keyword.control.directive.conditional.ifdef + scopes: + - punctuation.definition.directive +- source: ifdef + scopesEnd: + - keyword.control.directive.conditional.ifdef +- source: _WIN32 + scopes: + - meta.preprocessor.conditional + - entity.name.other.preprocessor.macro.predefined._WIN32 +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: Hello World Windows +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: '#' + scopesBegin: + - keyword.control.directive.elifdef + scopes: + - punctuation.definition.directive +- source: elifdef + scopesEnd: + - keyword.control.directive.elifdef +- source: ' __linux__' +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: Hello World Linux +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: '#' + scopesBegin: + - keyword.control.directive.endif + scopes: + - punctuation.definition.directive +- source: endif + scopesEnd: + - keyword.control.directive.endif +- source: return + scopes: + - keyword.control.return +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/main/patterns/preprocessor.rb b/main/patterns/preprocessor.rb index c5fb65d6..0ad68640 100644 --- a/main/patterns/preprocessor.rb +++ b/main/patterns/preprocessor.rb @@ -411,7 +411,7 @@ def wordBounds(regex_pattern) grammar[:preprocessor_conditional_standalone] = Pattern.new( tag_as: "keyword.control.directive.$reference(conditional_name)", match: directive_start.then( - match: wordBounds(/(?:endif|else|elif)/), + match: wordBounds(/(?:endif|else|elif|elifdef|elifndef)/), reference: "conditional_name" ) ) diff --git a/package-lock.json b/package-lock.json index 3ef50515..cb2f9f1a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "better-cpp-syntax", - "version": "1.17.6", + "version": "1.20.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "better-cpp-syntax", - "version": "1.17.6", + "version": "1.20.1", "devDependencies": { "chalk": "^2.4.2", "dictionary-en-us": "^2.1.1", diff --git a/package.json b/package.json index 21c6ea15..a48fd178 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.20.0", + "version": "1.20.1", "icon": "icon.png", "scripts": {}, "keywords": [ From 8c056a11d378df65744d5a3e34ee60aedc057885 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Wed, 9 Aug 2023 16:06:01 -0500 Subject: [PATCH 32/65] improve typing further --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 1940 +++++++++++------ language_examples/#030.spec.yaml | 20 +- language_examples/#071.spec.yaml | 49 +- language_examples/#088.spec.yaml | 5 +- language_examples/#204.spec.yaml | 5 +- language_examples/#249.spec.yaml | 10 +- language_examples/#305.spec.yaml | 25 +- language_examples/#307.spec.yaml | 30 +- language_examples/#372.spec.yaml | 5 +- language_examples/#386.spec.yaml | 12 +- language_examples/#410.spec.yaml | 14 +- language_examples/#432.spec.yaml | 8 +- language_examples/#442.spec.yaml | 178 +- language_examples/#530.spec.yaml | 119 +- language_examples/#610.spec.yaml | 8 +- .../feature_basic_string_sso.spec.yaml | 99 +- language_examples/feature_doxygen.spec.yaml | 5 +- .../feature_preprocessor.spec.yaml | 15 +- language_examples/misc_000.spec.yaml | 10 +- language_examples/misc_005.spec.yaml | 331 ++- language_examples/misc_006.spec.yaml | 10 +- language_examples/misc_asteria.spec.yaml | 102 +- language_examples/misc_test.spec.yaml | 5 +- ...operator_overload_implicit_const.spec.yaml | 76 +- language_examples/ranged_for.spec.yaml | 81 +- main/main.rb | 51 +- 27 files changed, 2249 insertions(+), 966 deletions(-) diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 0dcf45a2..82cd37dd 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", - "captures": { + "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", + "end": "(?=;)", + "beginCaptures": { "1": { "patterns": [ { @@ -6815,74 +6831,47 @@ ] }, "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "3": { - "patterns": [ - { - "include": "#storage_specifiers" - } - ] + "name": "comment.block.cpp" }, "4": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "5": { "patterns": [ { - "include": "#inline_comment" + "include": "#storage_specifiers" } ] }, "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" + }, + "9": { "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } + "include": "#inline_comment" } ] }, - "7": { + "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": [ { @@ -6937,7 +6926,7 @@ } ] }, - "8": { + "14": { "patterns": [ { "include": "#attributes_context" @@ -6947,57 +6936,39 @@ } ] }, - "9": { + "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "10": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "16": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "11": { + "17": { + "name": "comment.block.cpp" + }, + "18": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "12": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "20": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "13": { + "21": { + "name": "comment.block.cpp" + }, + "22": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "23": { "patterns": [ { "match": "::", @@ -7012,43 +6983,34 @@ } ] }, - "14": { + "24": { "patterns": [ { "include": "#template_call_range" } ] }, - "15": { + "25": { }, - "16": { + "26": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "27": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "18": { + "28": { + "name": "comment.block.cpp" }, - "19": { + "29": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "30": { + }, + "31": { "patterns": [ { "match": "\\*", @@ -7082,123 +7044,101 @@ } ] }, - "20": { + "32": { "patterns": [ { "include": "#inline_comment" } ] }, - "21": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "33": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "22": { + "34": { + "name": "comment.block.cpp" + }, + "35": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "36": { "patterns": [ { "include": "#inline_comment" } ] }, - "23": { + "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" + }, + "40": { "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } + "include": "#inline_comment" } ] }, - "24": { + "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": "variable.other.assignment.cpp" + }, + "45": { "patterns": [ { "include": "#inline_comment" } ] }, - "25": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] - }, - "26": { - "name": "variable.other.assignment.cpp" + "46": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "27": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "47": { + "name": "comment.block.cpp" }, - "28": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "48": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "29": { + "49": { "name": "keyword.operator.assignment.compound.cpp" }, - "30": { + "50": { "name": "keyword.operator.assignment.compound.bitwise.cpp" }, - "31": { + "51": { "name": "keyword.operator.assignment.cpp" } - } + }, + "endCaptures": { + }, + "patterns": [ + { + "include": "#normal_variable_assignment" + }, + { + "include": "#variable_assignment" + }, + { + "include": "$self" + } + ] }, "normal_variable_declaration": { - "match": "^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(;)", - "captures": { + "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)", + "end": "(?=;)", + "beginCaptures": { "1": { "patterns": [ { @@ -7207,74 +7147,47 @@ ] }, "2": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "3": { - "patterns": [ - { - "include": "#storage_specifiers" - } - ] + "name": "comment.block.cpp" }, "4": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "5": { "patterns": [ { - "include": "#inline_comment" + "include": "#storage_specifiers" } ] }, "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" + }, + "9": { "patterns": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } + "include": "#inline_comment" } ] }, - "7": { + "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": [ { @@ -7329,7 +7242,7 @@ } ] }, - "8": { + "14": { "patterns": [ { "include": "#attributes_context" @@ -7339,57 +7252,39 @@ } ] }, - "9": { + "15": { "patterns": [ { "include": "#inline_comment" } ] }, - "10": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "16": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "11": { + "17": { + "name": "comment.block.cpp" + }, + "18": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "19": { "patterns": [ { "include": "#inline_comment" } ] }, - "12": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "20": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "13": { + "21": { + "name": "comment.block.cpp" + }, + "22": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "23": { "patterns": [ { "match": "::", @@ -7404,43 +7299,34 @@ } ] }, - "14": { + "24": { "patterns": [ { "include": "#template_call_range" } ] }, - "15": { + "25": { }, - "16": { + "26": { "patterns": [ { "include": "#inline_comment" } ] }, - "17": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "27": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "18": { + "28": { + "name": "comment.block.cpp" }, - "19": { + "29": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "30": { + }, + "31": { "patterns": [ { "match": "\\*", @@ -7474,113 +7360,87 @@ } ] }, - "20": { + "32": { "patterns": [ { "include": "#inline_comment" } ] }, - "21": { + "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": [ { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } + "include": "#inline_comment" } ] }, - "22": { - "patterns": [ - { - "include": "#inline_comment" - } - ] + "37": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "23": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "38": { + "name": "comment.block.cpp" }, - "24": { + "39": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "40": { "patterns": [ { "include": "#inline_comment" } ] }, - "25": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "41": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "26": { + "42": { + "name": "comment.block.cpp" + }, + "43": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "44": { "name": "variable.other.object.declare.cpp" }, - "27": { + "45": { "patterns": [ { "include": "#inline_comment" } ] }, - "28": { - "patterns": [ - { - "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", - "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" - } - } - } - ] + "46": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "29": { - "name": "punctuation.terminator.statement.cpp" + "47": { + "name": "comment.block.cpp" + }, + "48": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } - } + }, + "endCaptures": { + }, + "patterns": [ + { + "include": "#normal_variable_assignment" + }, + { + "include": "#variable_assignment" + }, + { + "include": "$self" + } + ] }, "number_literal": { "match": "(?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "8": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "9": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "10": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "11": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "12": { + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp" + }, + { + "match": "(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", + "beginCaptures": { + "0": { + "name": "meta.head.union.cpp" + }, + "1": { + "name": "storage.type.$1.cpp" + }, + "2": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "3": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "4": { + "name": "comment.block.cpp" + }, + "5": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" + }, + { + "include": "#number_literal" + } + ] + }, + "7": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "8": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "9": { + "name": "comment.block.cpp" + }, + "10": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "11": { + "patterns": [ + { + "match": "((?|\\?\\?>", + "beginCaptures": { + }, + "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": "#operator_overload" + }, + { + "include": "#normal_variable_declaration" + }, + { + "include": "#normal_variable_assignment" + }, + { + "include": "$self" + } + ] + }, + { + "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", + "end": "[\\s]*(?=;)", + "beginCaptures": { + }, + "endCaptures": { + }, + "name": "meta.tail.union.cpp", + "patterns": [ + { + "include": "$self" + } + ] + } + ] + }, + "union_declare": { + "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", + "captures": { + "1": { + "patterns": [ + { + "include": "#storage_specifiers" + } + ] + }, + "2": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "3": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "4": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "5": { "name": "meta.qualified_type.cpp", "patterns": [ { @@ -17485,7 +18146,7 @@ } ] }, - "7": { + "6": { "patterns": [ { "include": "#attributes_context" @@ -17495,14 +18156,14 @@ } ] }, - "8": { + "7": { "patterns": [ { "include": "#inline_comment" } ] }, - "9": { + "8": { "patterns": [ { "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", @@ -17520,14 +18181,14 @@ } ] }, - "10": { + "9": { "patterns": [ { "include": "#inline_comment" } ] }, - "11": { + "10": { "patterns": [ { "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", @@ -17545,7 +18206,7 @@ } ] }, - "12": { + "11": { "patterns": [ { "match": "::", @@ -17560,23 +18221,23 @@ } ] }, - "13": { + "12": { "patterns": [ { "include": "#template_call_range" } ] }, - "14": { + "13": { }, - "15": { + "14": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { + "15": { "patterns": [ { "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", @@ -17594,24 +18255,50 @@ } ] }, + "16": { + }, "17": { - } - } - }, - "undef": { - "match": "(^((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(#)(?:\\s+)?undef\\b)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))", - "beginCaptures": { - "0": { - "name": "meta.head.union.cpp" - }, - "1": { - "name": "storage.type.$1.cpp" - }, - "2": { + "22": { "patterns": [ { "include": "#inline_comment" } ] }, - "3": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, - "4": { - "name": "comment.block.cpp" + "23": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] }, - "5": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "24": { + "name": "variable.other.assignment.cpp" }, - "6": { + "25": { "patterns": [ { - "include": "#attributes_context" - }, - { - "include": "#number_literal" + "include": "#inline_comment" } ] }, - "7": { + "26": { "patterns": [ { - "include": "#inline_comment" + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } } ] }, - "8": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + "27": { + "name": "keyword.operator.assignment.compound.cpp" }, - "9": { - "name": "comment.block.cpp" + "28": { + "name": "keyword.operator.assignment.compound.bitwise.cpp" }, - "10": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "29": { + "name": "keyword.operator.assignment.cpp" + } + } + }, + "variable_declare": { + "match": "(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)", + "captures": { + "1": { + "patterns": [ + { + "include": "#storage_specifiers" + } + ] }, - "11": { + "2": { "patterns": [ { - "match": "((?", + "beginCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.begin.template.call.cpp" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.angle-brackets.end.template.call.cpp" + } + }, + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_context" + } + ] + }, + { + "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", + "name": "entity.name.type.cpp" + } + ] + }, + "6": { + "patterns": [ + { + "include": "#attributes_context" }, { - "match": "((?|\\?\\?>", - "beginCaptures": { - }, - "endCaptures": { - "0": { - "name": "punctuation.section.block.end.bracket.curly.union.cpp" - } - }, - "name": "meta.body.union.cpp", + "12": { "patterns": [ { - "include": "#function_pointer" - }, - { - "include": "#static_assert" - }, - { - "include": "#constructor_inline" - }, - { - "include": "#destructor_inline" - }, - { - "include": "$self" + "include": "#template_call_range" } ] }, - { - "begin": "(?<=\\}|%>|\\?\\?>)[\\s]*", - "end": "[\\s]*(?=;)", - "beginCaptures": { - }, - "endCaptures": { - }, - "name": "meta.tail.union.cpp", - "patterns": [ - { - "include": "$self" - } - ] - } - ] - }, - "union_declare": { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?' scopes: - - keyword.operator.comparison -- source: ' value' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: value + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: compound + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: < @@ -152,7 +180,14 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: type value +- source: type + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: value + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#088.spec.yaml b/language_examples/#088.spec.yaml index 725ae015..fdcbc823 100644 --- a/language_examples/#088.spec.yaml +++ b/language_examples/#088.spec.yaml @@ -62,9 +62,12 @@ scopesBegin: - meta.body.struct scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' Brightness' +- source: Brightness + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#204.spec.yaml b/language_examples/#204.spec.yaml index 48aaa0b5..1cf79f71 100644 --- a/language_examples/#204.spec.yaml +++ b/language_examples/#204.spec.yaml @@ -62,9 +62,12 @@ scopesBegin: - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.other.object.declare - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/#249.spec.yaml b/language_examples/#249.spec.yaml index a2fdcd3f..e71130ad 100644 --- a/language_examples/#249.spec.yaml +++ b/language_examples/#249.spec.yaml @@ -79,9 +79,12 @@ - storage.type.modifier.access.control.public - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -115,9 +118,12 @@ - storage.type.modifier.access.control.public - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#305.spec.yaml b/language_examples/#305.spec.yaml index e134beb4..1066f121 100644 --- a/language_examples/#305.spec.yaml +++ b/language_examples/#305.spec.yaml @@ -141,41 +141,56 @@ - meta.function.definition.special.constructor - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' someMember' +- source: someMember + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' anotherOne' +- source: anotherOne + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' quiteALotOfMembers' +- source: quiteALotOfMembers + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' soManyThatTheConstructorIsLong' +- source: soManyThatTheConstructorIsLong + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' iMeanReallyLong' +- source: iMeanReallyLong + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#307.spec.yaml b/language_examples/#307.spec.yaml index 9049fb78..9b90ceb7 100644 --- a/language_examples/#307.spec.yaml +++ b/language_examples/#307.spec.yaml @@ -130,9 +130,12 @@ - meta.function.definition.special.constructor - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' m_one' +- source: m_one + scopes: + - variable.other.object.declare - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -369,41 +372,56 @@ - meta.body.function.definition.special.constructor - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' someMember' +- source: someMember + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' anotherOne' +- source: anotherOne + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' quiteALotOfMembers' +- source: quiteALotOfMembers + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' soManyThatTheConstructorIsLong' +- source: soManyThatTheConstructorIsLong + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' iMeanReallyLong' +- source: iMeanReallyLong + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#372.spec.yaml b/language_examples/#372.spec.yaml index e0f09b8e..0b6441a6 100644 --- a/language_examples/#372.spec.yaml +++ b/language_examples/#372.spec.yaml @@ -43,9 +43,12 @@ - storage.modifier.specifier.const - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' count ' +- source: count + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#386.spec.yaml b/language_examples/#386.spec.yaml index 86086648..292fa193 100644 --- a/language_examples/#386.spec.yaml +++ b/language_examples/#386.spec.yaml @@ -22,12 +22,15 @@ - storage.type.modifier.access.control.private - source: double scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' elem' + - storage.modifier.pointer +- source: elem + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -41,9 +44,12 @@ - comment.line.double-slash - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' sz' +- source: sz + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#410.spec.yaml b/language_examples/#410.spec.yaml index 184b67d8..b67edb82 100644 --- a/language_examples/#410.spec.yaml +++ b/language_examples/#410.spec.yaml @@ -489,19 +489,27 @@ - punctuation.separator.colon.access.control scopesEnd: - storage.type.modifier.access.control.private -- source: ' T ' +- source: T + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: container + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' size' +- source: size + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#432.spec.yaml b/language_examples/#432.spec.yaml index 8f99be7b..77019601 100644 --- a/language_examples/#432.spec.yaml +++ b/language_examples/#432.spec.yaml @@ -30,9 +30,15 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' T t' +- source: T scopesBegin: - meta.body.struct + scopes: + - meta.qualified_type + - entity.name.type +- source: t + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#442.spec.yaml b/language_examples/#442.spec.yaml index 5c45fbc3..ea69cf61 100644 --- a/language_examples/#442.spec.yaml +++ b/language_examples/#442.spec.yaml @@ -558,13 +558,25 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' stop action' +- source: stop scopesBegin: - meta.body.struct + scopes: + - meta.qualified_type + - entity.name.type +- source: action + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' milliseconds timeout' +- source: milliseconds + scopes: + - meta.qualified_type + - entity.name.type +- source: timeout + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -587,17 +599,35 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' stop_action first' +- source: stop_action scopesBegin: - meta.body.struct + scopes: + - meta.qualified_type + - entity.name.type +- source: first + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' stop_action second' +- source: stop_action + scopes: + - meta.qualified_type + - entity.name.type +- source: second + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' stop_action third' +- source: stop_action + scopes: + - meta.qualified_type + - entity.name.type +- source: third + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -634,11 +664,15 @@ scopesEnd: - comment.block.documentation - source: class + scopesBegin: + - meta.qualified_type scopes: - - storage.type.class.declare + - storage.type.class - source: environment scopes: - - entity.name.type.class + - entity.name.type + scopesEnd: + - meta.qualified_type - source: environment scopes: - variable.other.object.declare @@ -650,12 +684,15 @@ - storage.modifier.specifier.const - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: 'working_directory ' + - storage.modifier.pointer +- source: working_directory + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -676,17 +713,35 @@ - punctuation.section.block.begin.bracket.curly.struct scopesEnd: - meta.head.struct -- source: ' redirect in' +- source: redirect scopesBegin: - meta.body.struct + scopes: + - meta.qualified_type + - entity.name.type +- source: in + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' redirect out' +- source: redirect + scopes: + - meta.qualified_type + - entity.name.type +- source: out + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' redirect err' +- source: redirect + scopes: + - meta.qualified_type + - entity.name.type +- source: err + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -718,14 +773,18 @@ scopesEnd: - meta.block.struct - source: struct + scopesBegin: + - meta.qualified_type scopes: - - storage.type.struct.declare + - storage.type.struct - source: stop_actions scopes: - - entity.name.type.struct + - entity.name.type + scopesEnd: + - meta.qualified_type - source: stop scopes: - - variable.other.object.declare + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -743,13 +802,22 @@ scopes: - punctuation.terminator.statement - source: reproc + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'milliseconds timeout ' +- source: milliseconds + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: timeout + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -776,13 +844,22 @@ scopes: - punctuation.terminator.statement - source: reproc + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'milliseconds deadline ' +- source: milliseconds + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: deadline + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -810,9 +887,12 @@ - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' inherit ' +- source: inherit + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -824,9 +904,12 @@ - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' discard ' +- source: discard + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -849,11 +932,15 @@ scopesEnd: - comment.block.documentation - source: class + scopesBegin: + - meta.qualified_type scopes: - - storage.type.class.declare + - storage.type.class - source: input scopes: - - entity.name.type.class + - entity.name.type + scopesEnd: + - meta.qualified_type - source: input scopes: - variable.other.object.declare @@ -1715,6 +1802,8 @@ scopesEnd: - storage.type.modifier.access.control.private - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1722,51 +1811,46 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: unique_ptr + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: reproc_t scopes: - support.type.posix-reserved - support.type.built-in.posix-reserved - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: void scopes: - - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ( - scopes: - - punctuation.section.parens.begin.bracket.round.function.pointer +- source: ' (' - source: '*' scopes: - - punctuation.definition.function.pointer.dereference -- source: ) - scopes: - - punctuation.section.parens.end.bracket.round.function.pointer -- source: ( - scopes: - - punctuation.section.parameters.begin.bracket.round.function.pointer + - keyword.operator.arithmetic +- source: )( - source: reproc_t - scopesBegin: - - meta.parameter scopes: - support.type.posix-reserved - support.type.built-in.posix-reserved - source: '*' scopes: - - storage.modifier.pointer - scopesEnd: - - meta.parameter + - keyword.operator.arithmetic - source: ) - scopes: - - punctuation.section.parameters.end.bracket.round.function.pointer - source: '>' scopes: - - keyword.operator.comparison -- source: ' process_' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: process_ + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -1925,9 +2009,15 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' process process' +- source: process scopesBegin: - meta.body.struct + scopes: + - meta.qualified_type + - entity.name.type +- source: process + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#530.spec.yaml b/language_examples/#530.spec.yaml index e6996889..cf803ded 100644 --- a/language_examples/#530.spec.yaml +++ b/language_examples/#530.spec.yaml @@ -15,26 +15,23 @@ scopesBegin: - meta.body.struct scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x ' +- source: x + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment - source: f - scopesBegin: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor scopes: - - entity.name.function.constructor - - entity.name.function.definition.special.constructor + - entity.name.function.call - source: ( scopes: - - punctuation.section.parameters.begin.bracket.round.special.constructor + - punctuation.section.arguments.begin.bracket.round.function.call - source: R scopesBegin: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - punctuation.definition.string.begin scopes: @@ -47,23 +44,21 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - source: ) scopes: - - punctuation.section.parameters.end.bracket.round.special.constructor - scopesEnd: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor + - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' y ' +- source: 'y' + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -78,12 +73,15 @@ - storage.modifier.specifier.const - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' z ' + - storage.modifier.pointer +- source: z + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -124,26 +122,23 @@ scopesBegin: - meta.body.struct scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x1 ' +- source: x1 + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment - source: f - scopesBegin: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor scopes: - - entity.name.function.constructor - - entity.name.function.definition.special.constructor + - entity.name.function.call - source: ( scopes: - - punctuation.section.parameters.begin.bracket.round.special.constructor + - punctuation.section.arguments.begin.bracket.round.function.call - source: R scopesBegin: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - punctuation.definition.string.begin scopes: @@ -156,40 +151,32 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - source: ) scopes: - - punctuation.section.parameters.end.bracket.round.special.constructor - scopesEnd: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor + - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x2 ' +- source: x2 + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment - source: f - scopesBegin: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor scopes: - - entity.name.function.constructor - - entity.name.function.definition.special.constructor + - entity.name.function.call - source: ( scopes: - - punctuation.section.parameters.begin.bracket.round.special.constructor + - punctuation.section.arguments.begin.bracket.round.function.call - source: R scopesBegin: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - punctuation.definition.string.begin scopes: @@ -202,43 +189,36 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - source: ) scopes: - - punctuation.section.parameters.end.bracket.round.special.constructor - scopesEnd: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor + - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' x3 ' +- source: x3 + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment - source: f - scopesBegin: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor scopes: - - entity.name.function.constructor - - entity.name.function.definition.special.constructor + - entity.name.function.call - source: ( scopes: - - punctuation.section.parameters.begin.bracket.round.special.constructor + - punctuation.section.arguments.begin.bracket.round.function.call - source: g - scopesBegin: - - meta.function.definition.parameters.special.constructor - - meta.parameter scopes: - - entity.name.type.parameter + - entity.name.function.call - source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call - source: R scopesBegin: - string.quoted.double.raw @@ -253,24 +233,24 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.function.definition.parameters.special.constructor - - meta.parameter - string.quoted.double.raw - source: ) - scopes: - - punctuation.section.parameters.end.bracket.round.special.constructor + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call - source: ) scopesEnd: - - meta.function.definition.special.constructor - - meta.head.function.definition.special.constructor + - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' y ' +- source: 'y' + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -285,12 +265,15 @@ - storage.modifier.specifier.const - source: char scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' z ' + - storage.modifier.pointer +- source: z + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#610.spec.yaml b/language_examples/#610.spec.yaml index cfe065b2..308f8ec4 100644 --- a/language_examples/#610.spec.yaml +++ b/language_examples/#610.spec.yaml @@ -184,9 +184,15 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' T content' +- source: T scopesBegin: - meta.body.struct + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_basic_string_sso.spec.yaml b/language_examples/feature_basic_string_sso.spec.yaml index 16040cc1..9683c289 100644 --- a/language_examples/feature_basic_string_sso.spec.yaml +++ b/language_examples/feature_basic_string_sso.spec.yaml @@ -315,29 +315,40 @@ scopes: - meta.head.class - punctuation.section.block.begin.bracket.curly.class -- source: "\t\t\t\tCharT " +- source: CharT scopesBegin: - meta.body.class + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: d + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: size_t scopes: + - meta.qualified_type - storage.type - storage.type.built-in -- source: ' c' +- source: c + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: size_t scopes: + - meta.qualified_type - storage.type - storage.type.built-in -- source: ' s' +- source: s + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -1165,9 +1176,12 @@ - storage.modifier.specifier.static - source: size_t scopes: + - meta.qualified_type - storage.type - storage.type.built-in -- source: ' _SSO_Cap ' +- source: _SSO_Cap + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -1204,9 +1218,12 @@ - storage.modifier.specifier.static - source: size_t scopes: + - meta.qualified_type - storage.type - storage.type.built-in -- source: ' _size_mask ' +- source: _size_mask + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -1299,29 +1316,40 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: "\t\t\tCharT " +- source: CharT scopesBegin: - meta.body.struct + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: data + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: size_t scopes: + - meta.qualified_type - storage.type - storage.type.built-in -- source: ' capacity' +- source: capacity + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: size_t scopes: + - meta.qualified_type - storage.type - storage.type.built-in -- source: ' size' +- source: size + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -1364,7 +1392,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t_UCharT remain" +- source: _UCharT + scopes: + - meta.qualified_type + - entity.name.type +- source: remain + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -1432,13 +1466,25 @@ scopes: - meta.head.union - punctuation.section.block.begin.bracket.curly.union -- source: "\t\t\t_long _l" +- source: _long scopesBegin: - meta.body.union + scopes: + - meta.qualified_type + - entity.name.type +- source: _l + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t_short _s" +- source: _short + scopes: + - meta.qualified_type + - entity.name.type +- source: _s + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -1461,6 +1507,8 @@ scopesEnd: - comment.line.double-slash - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1468,18 +1516,33 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: tuple + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: _rep + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma -- source: ' Allocator' + - punctuation.separator.delimiter.comma.template.argument +- source: Allocator + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' __string' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: __string + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_doxygen.spec.yaml b/language_examples/feature_doxygen.spec.yaml index bedf3e0a..1edfaf2e 100644 --- a/language_examples/feature_doxygen.spec.yaml +++ b/language_examples/feature_doxygen.spec.yaml @@ -952,9 +952,12 @@ - comment.block.documentation - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' publicVar' +- source: publicVar + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_preprocessor.spec.yaml b/language_examples/feature_preprocessor.spec.yaml index 2466d8af..2168e0c8 100644 --- a/language_examples/feature_preprocessor.spec.yaml +++ b/language_examples/feature_preprocessor.spec.yaml @@ -476,9 +476,12 @@ - constant.character.escape.line-continuation - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' data' +- source: data + scopes: + - variable.other.object.declare - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -491,9 +494,12 @@ - constant.character.escape.line-continuation - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' other' +- source: other + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -638,9 +644,12 @@ - storage.modifier.specifier.const - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' isPoint ' +- source: isPoint + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/misc_000.spec.yaml b/language_examples/misc_000.spec.yaml index 6437c596..5e81d62a 100644 --- a/language_examples/misc_000.spec.yaml +++ b/language_examples/misc_000.spec.yaml @@ -5431,9 +5431,12 @@ - storage.type.modifier.access.control.protected - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -5527,9 +5530,12 @@ - storage.type.modifier.access.control.protected - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/misc_005.spec.yaml b/language_examples/misc_005.spec.yaml index a20744ea..e8a249ef 100644 --- a/language_examples/misc_005.spec.yaml +++ b/language_examples/misc_005.spec.yaml @@ -2399,9 +2399,15 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' string info' +- source: string scopesBegin: - meta.body.struct + scopes: + - meta.qualified_type + - entity.name.type +- source: info + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -2828,17 +2834,29 @@ scopesEnd: - meta.function.definition.special.constructor - source: decay_t + scopesBegin: + - meta.qualified_type scopes: - support.type.posix-reserved - support.type.built-in.posix-reserved - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: Callable + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' callable' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: callable + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -27900,9 +27918,12 @@ - comment.line.double-slash - source: pthread_t scopes: + - meta.qualified_type - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thread' +- source: thread + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -27941,31 +27962,52 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' function' +- source: function + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - entity.name.function.call + - meta.qualified_type + - entity.name.type - source: ( - scopes: - - punctuation.section.arguments.begin.bracket.round.function.call -- source: ANY_INPUT_TYPE argument +- source: ANY_INPUT_TYPE + scopesBegin: + - meta.qualified_type + - entity.name.type +- source: argument + scopesEnd: + - meta.qualified_type + - entity.name.type - source: ) - scopes: - - punctuation.section.arguments.end.bracket.round.function.call - source: '>' scopes: - - keyword.operator.comparison -- source: ' lambda_thread_function' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: lambda_thread_function + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' function' +- source: function + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: void scopes: - storage.type.primitive @@ -27973,36 +28015,47 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ( - scopesBegin: - - meta.parens - scopes: - - punctuation.section.parens.begin.bracket.round -- source: ) +- source: () +- source: '>' scopes: - - punctuation.section.parens.end.bracket.round + - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.parens -- source: '>' + - meta.qualified_type + - meta.template.call +- source: functional_wrapper scopes: - - keyword.operator.comparison -- source: ' functional_wrapper' + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' ANY_OUTPUT_TYPE output' +- source: ANY_OUTPUT_TYPE + scopes: + - meta.qualified_type + - entity.name.type +- source: output + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' ANY_INPUT_TYPE arguments' +- source: ANY_INPUT_TYPE + scopes: + - meta.qualified_type + - entity.name.type +- source: arguments + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' use_lambda ' +- source: use_lambda + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -28014,9 +28067,12 @@ - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' has_been_waited_on ' +- source: has_been_waited_on + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -29003,55 +29059,98 @@ - source: static scopes: - storage.modifier.specifier.static -- source: ' map' +- source: map + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: TaskClass + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma -- source: ' ANY_INPUT_TYPE' + - punctuation.separator.delimiter.comma.template.argument +- source: ANY_INPUT_TYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call - source: '*' scopes: - keyword.operator.arithmetic - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: int scopes: - storage.type.primitive - storage.type.built-in.primitive - source: '>' scopes: - - keyword.operator.comparison -- source: ' links_to' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: links_to + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' TaskClass' +- source: TaskClass + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma -- source: ' ANY_INPUT_TYPE' + - punctuation.separator.delimiter.comma.template.argument +- source: ANY_INPUT_TYPE + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' ptr_to_original ' + - storage.modifier.pointer +- source: ptr_to_original + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -29063,12 +29162,15 @@ - punctuation.terminator.statement - source: pthread_t scopes: + - meta.qualified_type - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread - source: '&' scopes: - - keyword.operator.bitwise -- source: ' thread' + - storage.modifier.reference +- source: thread + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -30765,10 +30867,16 @@ - source: ' data' scopesEnd: - comment.line.double-slash -- source: ' map' +- source: map + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: void scopes: - storage.type.primitive @@ -30778,15 +30886,20 @@ - keyword.operator.arithmetic - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: pthread_mutex_t scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread - source: '>' scopes: - - keyword.operator.comparison -- source: ' map_of_locks' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: map_of_locks + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -40689,39 +40802,81 @@ - source: ' data' scopesEnd: - comment.line.double-slash -- source: ' vector' +- source: vector + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ITEM + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' vector_ ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: vector_ + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' vector' +- source: vector + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: ITEM + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' values ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: values + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' vector' +- source: vector + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: string + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' names ' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: names + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -46869,7 +47024,13 @@ - source: ' data' scopesEnd: - comment.line.double-slash -- source: ' string data' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: data + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -46881,7 +47042,13 @@ - source: ' later turn both of these into some kind of binary' scopesEnd: - comment.line.double-slash -- source: ' string type' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: type + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -63251,9 +63418,12 @@ - comment.line.double-slash - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' length_of_last_line ' +- source: length_of_last_line + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -63265,9 +63435,12 @@ - punctuation.terminator.statement - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' dont_go_up_a_line ' +- source: dont_go_up_a_line + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -63277,7 +63450,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string what_was_just_output ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: what_was_just_output + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -63294,7 +63473,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string content ' +- source: string + scopes: + - meta.qualified_type + - entity.name.type +- source: content + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/misc_006.spec.yaml b/language_examples/misc_006.spec.yaml index 6437c596..5e81d62a 100644 --- a/language_examples/misc_006.spec.yaml +++ b/language_examples/misc_006.spec.yaml @@ -5431,9 +5431,12 @@ - storage.type.modifier.access.control.protected - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -5527,9 +5530,12 @@ - storage.type.modifier.access.control.protected - source: auto scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/misc_asteria.spec.yaml b/language_examples/misc_asteria.spec.yaml index 876a0430..99d11a13 100644 --- a/language_examples/misc_asteria.spec.yaml +++ b/language_examples/misc_asteria.spec.yaml @@ -159,6 +159,8 @@ scopesEnd: - storage.type.modifier.access.control.private - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -166,33 +168,59 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: reference_wrapper + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution + - punctuation.separator.scope-resolution.template.call - source: streambuf + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' m_cbuf' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: m_cbuf + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' Cow_String m_file' +- source: Cow_String + scopes: + - meta.qualified_type + - entity.name.type +- source: m_file + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement -- source: ' Cow_String m_str' +- source: Cow_String + scopes: + - meta.qualified_type + - entity.name.type +- source: m_str + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -203,11 +231,17 @@ scopes: - storage.type - storage.type.built-in -- source: ' m_line' + scopesEnd: + - meta.qualified_type +- source: m_line + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -218,7 +252,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' m_offset' + scopesEnd: + - meta.qualified_type +- source: m_offset + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -1890,6 +1928,8 @@ scopesEnd: - storage.type.modifier.access.control.private - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1900,11 +1940,17 @@ scopes: - storage.type - storage.type.built-in -- source: ' m_line' + scopesEnd: + - meta.qualified_type +- source: m_line + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1915,11 +1961,17 @@ scopes: - storage.type - storage.type.built-in -- source: ' m_offset' + scopesEnd: + - meta.qualified_type +- source: m_offset + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1930,7 +1982,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' m_length' + scopesEnd: + - meta.qualified_type +- source: m_length + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -5011,13 +5067,22 @@ scopes: - punctuation.terminator.statement - source: Token + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: Keyword second +- source: Keyword + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: second + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -7206,13 +7271,22 @@ scopes: - punctuation.terminator.statement - source: Token + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: Punctuator second +- source: Punctuator + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: second + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/misc_test.spec.yaml b/language_examples/misc_test.spec.yaml index 9cdf10d6..9a0cbb22 100644 --- a/language_examples/misc_test.spec.yaml +++ b/language_examples/misc_test.spec.yaml @@ -61,9 +61,12 @@ scopesBegin: - meta.body.class scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' width' +- source: width + scopes: + - variable.other.object.declare - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/operator_overload_implicit_const.spec.yaml b/language_examples/operator_overload_implicit_const.spec.yaml index 84f1c134..13aa670f 100644 --- a/language_examples/operator_overload_implicit_const.spec.yaml +++ b/language_examples/operator_overload_implicit_const.spec.yaml @@ -193,17 +193,25 @@ scopes: - storage.modifier.specifier.const - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'string ' +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type - source: '*' scopes: - - keyword.operator.arithmetic -- source: ' s' + - storage.modifier.pointer +- source: s + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -607,9 +615,12 @@ - storage.type.modifier.access.control.private - source: uint32_t scopes: + - meta.qualified_type - storage.type - storage.type.built-in -- source: ' id' +- source: id + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -1015,6 +1026,8 @@ scopesEnd: - storage.type.modifier.access.control.private - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1022,56 +1035,83 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: unordered_map + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution + - punctuation.separator.scope-resolution.template.call - source: string_view + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution + - punctuation.separator.scope-resolution.template.call - source: pair + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: const scopes: - storage.modifier.specifier.const - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution -- source: 'string ' + - punctuation.separator.scope-resolution.template.call +- source: string + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - keyword.operator.arithmetic - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: uint32_t scopes: - storage.type - storage.type.built-in -- source: '>>' +- source: '>' scopes: - - keyword.operator.bitwise.shift -- source: ' symbols' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: symbols + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/ranged_for.spec.yaml b/language_examples/ranged_for.spec.yaml index 4e648b27..96690d49 100644 --- a/language_examples/ranged_for.spec.yaml +++ b/language_examples/ranged_for.spec.yaml @@ -1650,9 +1650,12 @@ - comment.line.double-slash - source: bool scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' checkForPureEval ' +- source: checkForPureEval + scopes: + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment @@ -9687,13 +9690,18 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: ' EvalState ' +- source: EvalState scopesBegin: - meta.body.struct + scopes: + - meta.qualified_type + - entity.name.type - source: '&' scopes: - - keyword.operator.bitwise -- source: ' state' + - storage.modifier.reference +- source: state + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement @@ -52379,7 +52387,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' ValueVector right' +- source: ValueVector + scopes: + - meta.qualified_type + - entity.name.type +- source: right + scopes: + - variable.other.object.declare - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -61004,6 +61018,8 @@ scopesEnd: - comment.line.double-slash - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -61011,36 +61027,53 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: unordered_map + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution + - punctuation.separator.scope-resolution.template.call - source: string_view + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution + - punctuation.separator.scope-resolution.template.call - source: regex + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' cache' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: cache + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -61048,21 +61081,33 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: list + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution + - punctuation.separator.scope-resolution.template.call - source: string + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison -- source: ' keys' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: keys + scopes: + - variable.other.object.declare - source: ; scopes: - punctuation.terminator.statement diff --git a/main/main.rb b/main/main.rb index 0691b248..9e0084f9 100644 --- a/main/main.rb +++ b/main/main.rb @@ -1034,26 +1034,49 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ) normal_type_pattern = maybe(declaration_storage_specifiers.then(std_space)).then(qualified_type.maybe(ref_deref[])) # normal variable assignment - grammar[:normal_variable_assignment] = Pattern.new( - Pattern.new(/^/).then(std_space).then( - normal_type_pattern - ).then(std_space).then( + grammar[:variable_assignment] = Pattern.new( + normal_type_pattern.then(std_space).then( tag_as: "variable.other.assignment", match: identifier, ).then(std_space).then( assignment_operators ) ) - # normal variable declaration - grammar[:normal_variable_declaration] = Pattern.new( - Pattern.new(/^/).then(std_space).then( - normal_type_pattern - ).then(std_space).then( + grammar[:variable_declare] = Pattern.new( + normal_type_pattern.then(std_space).then( tag_as: "variable.other.object.declare", match: identifier, - ).then(std_space).then( - @semicolon - ) + ).then(std_space).lookAheadFor(/;|,/) + ) + grammar[:normal_variable_assignment] = PatternRange.new( + start_pattern: Pattern.new( + Pattern.new(/^/).then(std_space).then( + grammar[:variable_assignment] + ) + ), + end_pattern: lookAheadFor(/;/), + includes: [ + :normal_variable_assignment, + :variable_assignment, + :$initial_context, + ], + ) + # TODO: + # missing binding assignments + # missing array declarations + # missing initalizer forms ( Thing somthin(); Thing somethin{};) + grammar[:normal_variable_declaration] = PatternRange.new( + start_pattern: Pattern.new( + Pattern.new(/^/).then(std_space).then( + grammar[:variable_declare] + ) + ), + end_pattern: lookAheadFor(/;/), + includes: [ + :normal_variable_assignment, + :variable_assignment, + :$initial_context, + ], ) # TODO: create a :type that includes inline function-pointer types and array types grammar[:simple_type] = qualified_type.maybe(ref_deref[]) @@ -2059,6 +2082,8 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: head_includes: [ :ever_present_context, :attributes_context, + :normal_variable_assignment, + :normal_variable_declaration, grammar[:scope_resolution_namespace_block].maybe(@spaces).then( match: variable_name, tag_as: "entity.name.namespace", @@ -2353,7 +2378,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :inheritance_context, :template_call_range, ], - body_includes: [ :function_pointer, :static_assert, :constructor_inline, :destructor_inline, :$initial_context ], + body_includes: [ :function_pointer, :static_assert, :constructor_inline, :destructor_inline, :operator_overload, :normal_variable_declaration, :normal_variable_assignment, :$initial_context ], tail_includes: tail_includes ) end From db4a681695f3d9c825baaec0e5d699baa7d33b96 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Wed, 9 Aug 2023 16:06:37 -0500 Subject: [PATCH 33/65] - --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a48fd178..be241460 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.20.1", + "version": "1.21.1", "icon": "icon.png", "scripts": {}, "keywords": [ From 9f87ed926789ca21f4800f286cf926dfee35baeb Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Sat, 25 Nov 2023 13:49:03 -0600 Subject: [PATCH 34/65] - --- package-lock.json | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb2f9f1a..17ebc6b4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "better-cpp-syntax", - "version": "1.20.1", + "version": "1.21.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "better-cpp-syntax", - "version": "1.20.1", + "version": "1.21.1", "devDependencies": { "chalk": "^2.4.2", "dictionary-en-us": "^2.1.1", diff --git a/package.json b/package.json index be241460..77fcdebc 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.21.1", + "version": "1.21.2", "icon": "icon.png", "scripts": {}, "keywords": [ From e9184513a59a4df62d3d2e51ecebb705b2757e95 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Thu, 14 Mar 2024 14:09:39 -0500 Subject: [PATCH 35/65] - --- commands/project/publish | 3 +++ package-lock.json | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/commands/project/publish b/commands/project/publish index d9121d48..8e72a3d8 100755 --- a/commands/project/publish +++ b/commands/project/publish @@ -2,3 +2,6 @@ vsce publish --pat "$1" && echo "published on VSCE" ovsx publish -p "$2" && echo "published on OVSX" + +tag_name="$(jq '.version' ./package.json)" +git tag "$tag_name" && git push origin "$tag_name" \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index 17ebc6b4..b062b6d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "better-cpp-syntax", - "version": "1.21.1", + "version": "1.21.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "better-cpp-syntax", - "version": "1.21.1", + "version": "1.21.2", "devDependencies": { "chalk": "^2.4.2", "dictionary-en-us": "^2.1.1", From 172aa8a365f61a1a819e4299cebf8c67ffeee7c3 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 16 Apr 2024 08:39:04 -0500 Subject: [PATCH 36/65] fix #656 --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 4 +- language_examples/#656.cpp | 6 + language_examples/#656.spec.yaml | 175 ++++++++++++++++++ main/main.rb | 4 +- 5 files changed, 186 insertions(+), 5 deletions(-) create mode 100644 language_examples/#656.cpp create mode 100644 language_examples/#656.spec.yaml diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 82cd37dd..f14d68e4 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?isWidgetType()) + return new Base(static_cast(object)); + + return 0; +} \ No newline at end of file diff --git a/language_examples/#656.spec.yaml b/language_examples/#656.spec.yaml new file mode 100644 index 00000000..85a46425 --- /dev/null +++ b/language_examples/#656.spec.yaml @@ -0,0 +1,175 @@ +- source: static + scopesBegin: + - meta.function.definition + scopes: + - storage.modifier.static +- source: QAccessibleInterface + scopes: + - meta.qualified_type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: factory + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: const + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.modifier.specifier.const +- source: QString + scopes: + - entity.name.type.parameter +- source: '&' + scopes: + - storage.modifier.reference +- source: classname + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: QObject + scopes: + - entity.name.type.parameter +- source: '*' + scopes: + - storage.modifier.pointer +- source: object + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: if + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'classname ' +- source: '==' + scopes: + - keyword.operator.comparison +- source: QLatin1String + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: VBase +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: '&&' + scopes: + - keyword.operator.logical +- source: ' object ' +- source: '&&' + scopes: + - keyword.operator.logical +- source: object + scopes: + - variable.other.object.access +- source: '->' + scopes: + - punctuation.separator.pointer-access +- source: isWidgetType + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: return + scopes: + - keyword.control.return +- source: new + scopes: + - keyword.operator.wordlike + - keyword.operator.new +- source: Base + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: static_cast + scopes: + - keyword.operator.wordlike + - keyword.operator.cast.static_cast +- source: < + scopes: + - keyword.operator.comparison +- source: 'QWidget ' +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: '>' + scopes: + - keyword.operator.comparison +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: object +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/main/main.rb b/main/main.rb index 9e0084f9..f4bf7896 100644 --- a/main/main.rb +++ b/main/main.rb @@ -1800,7 +1800,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :scope_resolution_parameter_inner_generated, # match the class/struct/enum/union keywords Pattern.new( - match: @cpp_tokens.that(:isTypeCreator), + match: variableBounds[@cpp_tokens.that(:isTypeCreator)], tag_as: "storage.type.$match" ), # This is a range for when there is a variable-default assignment @@ -1901,7 +1901,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :scope_resolution_parameter_inner_generated, # match the class/struct/enum/union keywords Pattern.new( - match: @cpp_tokens.that(:isTypeCreator), + match: variableBounds[@cpp_tokens.that(:isTypeCreator)], tag_as: "storage.type.$match" ), # This is a range for when there is a variable-default assignment From a82ef6110fea8c7cbc3b17f1b53b72d1ca3d7e7c Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 16 Apr 2024 08:39:16 -0500 Subject: [PATCH 37/65] fix #655 --- autogenerated/cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 4 ++++ main/main.rb | 1 + 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index f14d68e4..89f1592d 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((? Date: Tue, 16 Apr 2024 08:47:59 -0500 Subject: [PATCH 38/65] fix #653 --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 516 +++++++++--------- main/patterns/preprocessor.rb | 1 + 3 files changed, 260 insertions(+), 259 deletions(-) diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 89f1592d..d11ddae5 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", "captures": { diff --git a/main/patterns/preprocessor.rb b/main/patterns/preprocessor.rb index 0ad68640..ef11e558 100644 --- a/main/patterns/preprocessor.rb +++ b/main/patterns/preprocessor.rb @@ -32,6 +32,7 @@ def wordBounds(regex_pattern) :preprocessor_conditional_parentheses, :preprocessor_conditional_standalone, :preprocessor_context, + :preprocessor_number_literal, # NOTE: this shouldn't need to be exported, but there's a bug in ruby_grammar_builder (see https://github.com/jeff-hykin/better-cpp-syntax/issues/653) ] std_space = grammar[:std_space] From e646278f9b782c97233c296634944395e4f70b88 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 16 Apr 2024 09:12:24 -0500 Subject: [PATCH 39/65] improved/reduced template false-positives, partial fix for #654 --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 1145 +++++++++++------ language_examples/#654.cpp | 26 + language_examples/#654.spec.yaml | 586 +++++++++ main/main.rb | 50 +- 5 files changed, 1372 insertions(+), 437 deletions(-) create mode 100644 language_examples/#654.cpp create mode 100644 language_examples/#654.spec.yaml diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index d11ddae5..c40b652f 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -2189,14 +2172,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -2805,14 +2788,14 @@ "name": "entity.name.scope-resolution.destructor.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "11": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -3163,7 +3146,7 @@ "8": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -3176,7 +3159,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -3829,7 +3812,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -3858,7 +3841,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -4001,24 +3984,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -4079,14 +4045,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "24": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -4224,7 +4190,7 @@ "51": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -4350,24 +4316,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -4428,14 +4377,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "17": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -4546,24 +4495,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -4624,14 +4556,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -4827,24 +4759,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -4905,14 +4820,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -5447,24 +5362,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -5543,14 +5441,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "8": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -6403,7 +6301,7 @@ "7": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -6471,7 +6369,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -6644,24 +6542,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -6722,14 +6603,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "24": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -6960,24 +6841,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -7038,14 +6902,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "24": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -7513,24 +7377,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -7591,14 +7438,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "16": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -7750,14 +7597,14 @@ "name": "entity.name.scope-resolution.operator.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "46": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -7812,14 +7659,14 @@ "name": "entity.name.scope-resolution.operator-overload.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "59": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -7975,7 +7822,7 @@ "include": "#ever_present_context" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" }, { "begin": "\\(", @@ -9569,7 +9416,7 @@ "name": "entity.name.type.parameter.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" }, { "match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)", @@ -10367,7 +10214,7 @@ "name": "entity.name.type.parameter.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" }, { "match": "((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*)", @@ -11545,24 +11392,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -11641,14 +11471,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "7": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -11790,24 +11620,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -11868,14 +11681,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "21": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12073,24 +11886,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -12151,14 +11947,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "21": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12382,7 +12178,7 @@ "2": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] } @@ -12404,7 +12200,7 @@ "2": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] } @@ -12426,7 +12222,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12439,7 +12235,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12475,7 +12271,7 @@ "2": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] } @@ -12497,7 +12293,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12510,7 +12306,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12546,7 +12342,7 @@ "2": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] } @@ -12568,7 +12364,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12581,7 +12377,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12617,7 +12413,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12630,7 +12426,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12666,7 +12462,7 @@ "2": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] } @@ -12688,7 +12484,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12701,7 +12497,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12737,7 +12533,7 @@ "2": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] } @@ -12759,7 +12555,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12772,7 +12568,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12808,7 +12604,7 @@ "2": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] } @@ -12830,7 +12626,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12843,7 +12639,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12879,7 +12675,7 @@ "2": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] } @@ -12901,7 +12697,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12914,7 +12710,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12950,7 +12746,7 @@ "2": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] } @@ -12972,7 +12768,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -12985,7 +12781,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -13021,7 +12817,7 @@ "2": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] } @@ -13043,7 +12839,7 @@ "3": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -13056,7 +12852,7 @@ "name": "meta.template.call.cpp", "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -13113,24 +12909,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -13209,14 +12988,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "8": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -14736,7 +14515,7 @@ "include": "#inheritance_context" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -15116,7 +14895,7 @@ "include": "#ever_present_context" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" }, { "include": "#storage_types" @@ -15150,7 +14929,7 @@ "0": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -15186,6 +14965,619 @@ } ] }, + "template_call_range_helper": { + "patterns": [ + { + "match": "\\b((?", @@ -15569,24 +15961,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -15665,14 +16040,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "15": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -16077,7 +16452,7 @@ "include": "#inheritance_context" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -16272,24 +16647,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -16350,14 +16708,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -16728,7 +17086,7 @@ "include": "#inheritance_context" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -17085,7 +17443,7 @@ "include": "#inheritance_context" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -17360,24 +17718,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -17456,14 +17797,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "13": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -17759,7 +18100,7 @@ "include": "#inheritance_context" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -18021,7 +18362,7 @@ "5": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -18125,24 +18466,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -18221,14 +18545,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, @@ -18492,24 +18816,7 @@ "include": "#scope_resolution_inner_generated" }, { - "begin": "<", - "end": ">", - "beginCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.begin.template.call.cpp" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.angle-brackets.end.template.call.cpp" - } - }, - "name": "meta.template.call.cpp", - "patterns": [ - { - "include": "#template_call_context" - } - ] + "include": "#template_call_range_helper" }, { "match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*", @@ -18588,14 +18895,14 @@ "name": "entity.name.scope-resolution.type.cpp" }, { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, "12": { "patterns": [ { - "include": "#template_call_range" + "include": "#template_call_range_helper" } ] }, diff --git a/language_examples/#654.cpp b/language_examples/#654.cpp new file mode 100644 index 00000000..5bbf2fa7 --- /dev/null +++ b/language_examples/#654.cpp @@ -0,0 +1,26 @@ +#include + +std::vector test(1 << 22); + +int main() { + for (int i = 0; i < (1 << 22); i++) { + test[i] = i; + } + while (true) { + switch (test[0] % 4) { + case 0: + test[0] = test[0] * 0x5deece66d + 0xb; + break; + case 1: + test[0] = test[0] * 0x5deece66d + 0xb; + break; + case 2: + test[0] = test[0] * 0x5deece66d + 0xb; + break; + case 3: + test[0] = test[0] * 0x5deece66d + 0xb; + break; + } + } + return 0; +} \ No newline at end of file diff --git a/language_examples/#654.spec.yaml b/language_examples/#654.spec.yaml new file mode 100644 index 00000000..3afa5c5e --- /dev/null +++ b/language_examples/#654.spec.yaml @@ -0,0 +1,586 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: vector +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.other.lt-gt.include +- source: std + scopesBegin: + - meta.function.definition + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: vector + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: uint64_t + scopes: + - storage.type + - storage.type.built-in +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: test + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: '1' + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - constant.numeric.decimal +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '22' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round + scopesEnd: + - meta.function.definition + - meta.head.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: main + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: for + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: int + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: ' i ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' i ' +- source: < + scopes: + - keyword.operator.comparison +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '1' + scopes: + - constant.numeric.decimal +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '22' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' i' +- source: ++ + scopes: + - keyword.operator.increment + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' i' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: while + scopes: + - keyword.control.while +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: 'true' + scopes: + - constant.language.true +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: switch + scopesBegin: + - meta.block.switch + - meta.head.switch + scopes: + - keyword.control.switch +- source: ( + scopesBegin: + - meta.conditional.switch + scopes: + - punctuation.section.parens.begin.bracket.round.conditional.switch +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '%' + scopes: + - keyword.operator.arithmetic +- source: '4' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.conditional.switch + scopesEnd: + - meta.conditional.switch +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.switch + scopesEnd: + - meta.head.switch +- source: case + scopesBegin: + - meta.body.switch + - meta.conditional.case + scopes: + - keyword.control.case +- source: '0' + scopes: + - constant.numeric.decimal +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: 5deece66d + scopes: + - constant.numeric.hexadecimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: b + scopes: + - constant.numeric.hexadecimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: '1' + scopes: + - constant.numeric.decimal +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: 5deece66d + scopes: + - constant.numeric.hexadecimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: b + scopes: + - constant.numeric.hexadecimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: '2' + scopes: + - constant.numeric.decimal +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: 5deece66d + scopes: + - constant.numeric.hexadecimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: b + scopes: + - constant.numeric.hexadecimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: case + scopesBegin: + - meta.conditional.case + scopes: + - keyword.control.case +- source: '3' + scopes: + - constant.numeric.decimal +- source: ':' + scopes: + - punctuation.separator.colon.case + scopesEnd: + - meta.conditional.case +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '0' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: 5deece66d + scopes: + - constant.numeric.hexadecimal +- source: + + scopes: + - keyword.operator.arithmetic +- source: 0x + scopes: + - keyword.other.unit.hexadecimal +- source: b + scopes: + - constant.numeric.hexadecimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: break + scopes: + - keyword.control.break +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.switch + scopesEnd: + - meta.block.switch + - meta.body.switch +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: return + scopes: + - keyword.control.return +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/main/main.rb b/main/main.rb index 102b9138..eb1a55d6 100644 --- a/main/main.rb +++ b/main/main.rb @@ -294,7 +294,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ] grammar[:template_call_context] = [ :ever_present_context, - :template_call_range, + :template_call_range_helper, :storage_types, :language_constants, :scope_resolution_template_call_inner_generated, @@ -698,20 +698,36 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: 'meta.template.call', # to match the characters in the middle of a template call match: some_number_of_angle_brackets.zeroOrMoreOf(match: /\s/, dont_back_track?: true), - includes: [ :template_call_range ] + includes: [ :template_call_range_helper ] ) grammar[:template_call_range] = PatternRange.new( - tag_as: 'meta.template.call', - start_pattern: Pattern.new( - match: //, + tag_as: "punctuation.section.angle-brackets.end.template.call" + ), + includes: [:template_call_context] + ) + # What does this helper do? it prevents template_call_range from incorrectly matching " 1 << 2" as a template call by having a pattern that matches the "1 <<" part first + grammar[:template_call_range_helper] = [ + Pattern.new( + @word_boundary.then(grammar[:number_literal]).then(std_space).then( + match:/</, - tag_as: "punctuation.section.angle-brackets.end.template.call" + ), + Pattern.new( + @word_boundary.then(grammar[:number_literal]).then(std_space).then( + match:/ Date: Tue, 16 Apr 2024 09:25:25 -0500 Subject: [PATCH 40/65] fix #652 --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 111 +++++++++- autogenerated/cpp_scopes.txt | 1 + language_examples/#652.cpp | 12 ++ language_examples/#652.spec.yaml | 189 ++++++++++++++++++ main/main.rb | 2 +- 6 files changed, 312 insertions(+), 5 deletions(-) create mode 100644 language_examples/#652.cpp create mode 100644 language_examples/#652.spec.yaml diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index c40b652f..f496d061 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", "beginCaptures": { "1": { "name": "meta.qualified_type.cpp", @@ -4717,6 +4717,41 @@ }, "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "storage.modifier.specifier.functional.post-parameters.$10.cpp" + }, + "11": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "12": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "13": { + "name": "comment.block.cpp" + }, + "14": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } }, "patterns": [ @@ -4727,7 +4762,7 @@ }, "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", "beginCaptures": { "1": { "name": "meta.qualified_type.cpp", @@ -4981,6 +5016,41 @@ }, "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "storage.modifier.specifier.functional.post-parameters.$10.cpp" + }, + "11": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "12": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "13": { + "name": "comment.block.cpp" + }, + "14": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } }, "patterns": [ @@ -16615,7 +16685,7 @@ "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=[{=,);>]|\\n)(?!\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", "beginCaptures": { "1": { "name": "meta.qualified_type.cpp", @@ -16869,6 +16939,41 @@ }, "5": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "storage.modifier.specifier.functional.post-parameters.$10.cpp" + }, + "11": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "12": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "13": { + "name": "comment.block.cpp" + }, + "14": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" } }, "patterns": [ diff --git a/autogenerated/cpp_scopes.txt b/autogenerated/cpp_scopes.txt index 32cf2dd7..91fe0d43 100644 --- a/autogenerated/cpp_scopes.txt +++ b/autogenerated/cpp_scopes.txt @@ -420,6 +420,7 @@ storage.modifier.pointer.cpp storage.modifier.reference.cpp storage.modifier.specifier.$3.cpp storage.modifier.specifier.extern.cpp +storage.modifier.specifier.functional.post-parameters.$10.cpp storage.modifier.specifier.functional.post-parameters.$5.cpp storage.modifier.specifier.functional.pre-parameters.$0.cpp storage.modifier.specifier.parameter.cpp diff --git a/language_examples/#652.cpp b/language_examples/#652.cpp new file mode 100644 index 00000000..6e43d582 --- /dev/null +++ b/language_examples/#652.cpp @@ -0,0 +1,12 @@ +struct foo +{ + void (*bar1)() noexcept; + void (*bar2)() noexcept; + void (*bar3)() noexcept; +}; + +void baz() +{ + static_assert(false, "some string"); + int x = 0; +} \ No newline at end of file diff --git a/language_examples/#652.spec.yaml b/language_examples/#652.spec.yaml new file mode 100644 index 00000000..091f72bd --- /dev/null +++ b/language_examples/#652.spec.yaml @@ -0,0 +1,189 @@ +- source: struct + scopesBegin: + - meta.block.struct + scopes: + - meta.head.struct + - storage.type.struct +- source: foo + scopes: + - entity.name.type.struct +- source: '{' + scopes: + - meta.head.struct + - punctuation.section.block.begin.bracket.curly.struct +- source: void + scopesBegin: + - meta.body.struct + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round.function.pointer +- source: '*' + scopes: + - punctuation.definition.function.pointer.dereference +- source: bar1 + scopes: + - variable.other.definition.pointer.function +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.function.pointer +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.function.pointer +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.function.pointer +- source: noexcept + scopes: + - storage.modifier.specifier.functional.post-parameters.noexcept +- source: ; + scopes: + - punctuation.terminator.statement +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round.function.pointer +- source: '*' + scopes: + - punctuation.definition.function.pointer.dereference +- source: bar2 + scopes: + - variable.other.definition.pointer.function +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.function.pointer +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.function.pointer +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.function.pointer +- source: noexcept + scopes: + - storage.modifier.specifier.functional.post-parameters.noexcept +- source: ; + scopes: + - punctuation.terminator.statement +- source: void + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: ( + scopes: + - punctuation.section.parens.begin.bracket.round.function.pointer +- source: '*' + scopes: + - punctuation.definition.function.pointer.dereference +- source: bar3 + scopes: + - variable.other.definition.pointer.function +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round.function.pointer +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round.function.pointer +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round.function.pointer +- source: noexcept + scopes: + - storage.modifier.specifier.functional.post-parameters.noexcept +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.struct + scopesEnd: + - meta.body.struct +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.block.struct +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: baz + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: static_assert + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.other.static_assert +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.static_assert +- source: 'false' + scopes: + - constant.language.false +- source: ',' + scopesBegin: + - meta.static_assert.message + scopes: + - punctuation.separator.delimiter.comma +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: some string +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.static_assert.message + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.static_assert +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: x + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/main/main.rb b/main/main.rb index eb1a55d6..66a37935 100644 --- a/main/main.rb +++ b/main/main.rb @@ -1723,7 +1723,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # # function pointer # - after_declaration = std_space.lookAheadFor(/[{=,);>]|\n/).lookAheadToAvoid(/\(/) + after_declaration = std_space.maybe(grammar[:qualifiers_and_specifiers_post_parameters].then(std_space)).lookAheadFor(/[{=,);>]|\n/).lookAheadToAvoid(/\(/) functionPointerGenerator = ->(identifier_tag) do return PatternRange.new( start_pattern: grammar[:simple_type].then(std_space).then( From 4071c1b3de85bb7b77612830ecdc8f87f151cf34 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 16 Apr 2024 09:25:40 -0500 Subject: [PATCH 41/65] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 77fcdebc..5cb5d8f8 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.21.2", + "version": "1.21.3", "icon": "icon.png", "scripts": {}, "keywords": [ From 47e28077059414c97126db4707b147f73f285925 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 16 Apr 2024 09:30:15 -0500 Subject: [PATCH 42/65] fix --- autogenerated/cpp.tmLanguage.json | 2 +- language_examples/#651.cpp | 8 ++ language_examples/#651.spec.yaml | 172 ++++++++++++++++++++++++++++++ main/main.rb | 2 +- 4 files changed, 182 insertions(+), 2 deletions(-) create mode 100644 language_examples/#651.cpp create mode 100644 language_examples/#651.spec.yaml diff --git a/autogenerated/cpp.tmLanguage.json b/autogenerated/cpp.tmLanguage.json index d5ed659e..96d46894 100644 --- a/autogenerated/cpp.tmLanguage.json +++ b/autogenerated/cpp.tmLanguage.json @@ -5591,7 +5591,7 @@ "name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp" }, "label": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((? Date: Tue, 16 Apr 2024 10:35:55 -0500 Subject: [PATCH 43/65] improve raw strings --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 36 +++++++++++++++---- autogenerated/cpp_scopes.txt | 7 ++-- language_examples/#610.spec.yaml | 10 +++--- .../feature_tagged_strings.spec.yaml | 30 ++++++++-------- language_examples/ranged_for.spec.yaml | 20 +++++------ language_examples/raw_strings.spec.yaml | 30 ++++++++-------- main/patterns/raw_strings.rb | 19 +++++----- 8 files changed, 90 insertions(+), 64 deletions(-) diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index f496d061..e58c72d6 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((? 10 order by a asc' - source: )sql" scopes: - - punctuation.definition.string.end + - punctuation.definition.string.sql.end scopesEnd: - - string.quoted.double.raw + - string.quoted.double.raw.sql - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -118,19 +118,19 @@ - punctuation.section.block.begin.bracket.curly - source: R scopesBegin: - - string.quoted.double.raw - - punctuation.definition.string.begin + - string.quoted.double.raw.re + - punctuation.definition.string.re.begin scopes: - meta.encoding - source: '"re(' scopesEnd: - - punctuation.definition.string.begin + - punctuation.definition.string.re.begin - source: ' ((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\()' - source: )re" scopes: - - punctuation.definition.string.end + - punctuation.definition.string.re.end scopesEnd: - - string.quoted.double.raw + - string.quoted.double.raw.re - source: '}' scopes: - punctuation.section.block.end.bracket.curly diff --git a/main/patterns/raw_strings.rb b/main/patterns/raw_strings.rb index 9489e784..6e2ebdd2 100644 --- a/main/patterns/raw_strings.rb +++ b/main/patterns/raw_strings.rb @@ -3,6 +3,7 @@ def generateTaggedRawString(name, tag_pattern, inner_pattern, tag_as_meta:false) # (because they're part of another language or syntax) meta = "" meta = "meta." if tag_as_meta + name = ".#{name}" if name return PatternRange.new( start_pattern: Pattern.new( match: Pattern.new( @@ -15,7 +16,7 @@ def generateTaggedRawString(name, tag_pattern, inner_pattern, tag_as_meta:false) match: Pattern.new(")").then(tag_pattern).then(/\"/), tag_as: "punctuation.definition.string.end" ), - tag_as: meta+"string.quoted.double.raw.#{name}", + tag_as: meta+"string.quoted.double.raw#{name}", includes: [ inner_pattern, ] @@ -28,7 +29,7 @@ def getRawStringPatterns() begin: "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(", beginCaptures: { "0" => { - name: "punctuation.definition.string.begin" + name: "punctuation.definition.string.$2.begin" }, "1" => { name: "meta.encoding" @@ -37,30 +38,32 @@ def getRawStringPatterns() name: "invalid.illegal.delimiter-too-long" } }, - end: "(\\)\\2(\\3)\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?", + end: "(\\)(\\2)(\\3)\")(?:((?:[a-zA-Z]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|(_(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))?", endCaptures: { "1" => { - name: "punctuation.definition.string.end" + name: "punctuation.definition.string.$2.end" }, - "2" => { + "3" => { name: "invalid.illegal.delimiter-too-long" }, - "3" => { + "4" => { name: "keyword.other.suffix.literal.user-defined.reserved.string.cpp" }, - "4" => { + "5" => { name: "keyword.other.suffix.literal.user-defined.string.cpp" }, }, - name: "string.quoted.double.raw" + name: "string.quoted.double.raw.$2" ) regex = generateTaggedRawString("regex", Pattern.new(/_r/).or(/re/).or(/regex/), "source.regexp.python") sql = generateTaggedRawString("sql", Pattern.new(/[pP]?(?:sql|SQL)/).or(/d[dm]l/), "source.sql", tag_as_meta: true) glsl = generateTaggedRawString("glsl", Pattern.new(/glsl/).or(/GLSL/), "source.glsl", tag_as_meta: true) + plain = generateTaggedRawString(nil, Pattern.new(//), "", tag_as_meta: false) return [ regex, glsl, sql, + plain, default, ] end From c594a9d67e8c4fe23801b6d46791d6ca8ac88a77 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 16 Apr 2024 10:36:11 -0500 Subject: [PATCH 44/65] - --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5cb5d8f8..1033faa9 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.21.3", + "version": "1.21.4", "icon": "icon.png", "scripts": {}, "keywords": [ From c2a3e40e645661893a23e16dd621da2c098008fe Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 16 Apr 2024 10:36:52 -0500 Subject: [PATCH 45/65] disable SQL cause it causes too many problems --- main/patterns/raw_strings.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/main/patterns/raw_strings.rb b/main/patterns/raw_strings.rb index 6e2ebdd2..894788de 100644 --- a/main/patterns/raw_strings.rb +++ b/main/patterns/raw_strings.rb @@ -56,7 +56,7 @@ def getRawStringPatterns() name: "string.quoted.double.raw.$2" ) regex = generateTaggedRawString("regex", Pattern.new(/_r/).or(/re/).or(/regex/), "source.regexp.python") - sql = generateTaggedRawString("sql", Pattern.new(/[pP]?(?:sql|SQL)/).or(/d[dm]l/), "source.sql", tag_as_meta: true) + # sql = generateTaggedRawString("sql", Pattern.new(/[pP]?(?:sql|SQL)/).or(/d[dm]l/), "source.sql", tag_as_meta: true) glsl = generateTaggedRawString("glsl", Pattern.new(/glsl/).or(/GLSL/), "source.glsl", tag_as_meta: true) plain = generateTaggedRawString(nil, Pattern.new(//), "", tag_as_meta: false) return [ From 2d7198b2f867f30e9f0287da702fd91f1eb45e02 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 16 Apr 2024 10:38:41 -0500 Subject: [PATCH 46/65] remove SQL --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 23 ------------------- autogenerated/cpp_scopes.txt | 1 - main/patterns/raw_strings.rb | 3 ++- package.json | 2 +- 5 files changed, 4 insertions(+), 27 deletions(-) diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index e58c72d6..794a4cf7 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((? Date: Tue, 16 Apr 2024 10:39:37 -0500 Subject: [PATCH 47/65] add test for #636 --- language_examples/#636.cpp | 28 ++ language_examples/#636.spec.yaml | 481 +++++++++++++++++++++++++++++++ 2 files changed, 509 insertions(+) create mode 100644 language_examples/#636.cpp create mode 100644 language_examples/#636.spec.yaml diff --git a/language_examples/#636.cpp b/language_examples/#636.cpp new file mode 100644 index 00000000..f89c9a58 --- /dev/null +++ b/language_examples/#636.cpp @@ -0,0 +1,28 @@ +#include "MyAwesomeDatabaseLibrary.h" +#include +#include + +int main(int argc, char** argv) +{ + std::string plate = argv[1]; + + AwesomeDBConnection conn; + + conn.Open("myconnectionstring"); + + auto query = conn.Execute(R"sql( + + SELECT uid, part_name, install_date FROM CarParts + WHERE plate = ')sql" + plate + "' ORDER BY install_date"); + + for (const auto& entry : query) + { + std::cout << entry["uid"] << ": "; + std::cout << entry["part_name"] << ", "; + std::cout << entry["install_date"] << std::endl; + } + + conn.Close(); + + return 0; +} \ No newline at end of file diff --git a/language_examples/#636.spec.yaml b/language_examples/#636.spec.yaml new file mode 100644 index 00000000..02b5864b --- /dev/null +++ b/language_examples/#636.spec.yaml @@ -0,0 +1,481 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: MyAwesomeDatabaseLibrary.h +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: string +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: iostream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.other.lt-gt.include +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: main + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: int + scopesBegin: + - meta.function.definition.parameters + - meta.parameter + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: argc + scopes: + - variable.parameter +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: char + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopesBegin: + - storage.modifier.pointer +- source: '*' + scopesEnd: + - storage.modifier.pointer +- source: argv + scopes: + - variable.parameter + scopesEnd: + - meta.function.definition.parameters + - meta.parameter +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: std + scopesBegin: + - meta.body.function.definition + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: string + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: plate + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: argv + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: AwesomeDBConnection + scopes: + - meta.qualified_type + - entity.name.type +- source: conn + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: conn + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: Open + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: myconnectionstring +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: query + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: conn + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: Execute + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: R + scopesBegin: + - string.quoted.double.raw.sql + - punctuation.definition.string.sql.begin + scopes: + - meta.encoding +- source: '"sql(' + scopesEnd: + - punctuation.definition.string.sql.begin +- source: ' SELECT uid, part_name, install_date FROM CarParts' +- source: ' WHERE plate = ''' +- source: )sql" + scopes: + - punctuation.definition.string.sql.end + scopesEnd: + - string.quoted.double.raw.sql +- source: + + scopes: + - keyword.operator.arithmetic +- source: ' plate ' +- source: + + scopes: + - keyword.operator.arithmetic +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: ''' ORDER BY install_date' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: const + scopesBegin: + - meta.parens.control.for + scopes: + - storage.modifier.specifier.const +- source: auto + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: '&' + scopes: + - storage.modifier.reference +- source: entry + scopes: + - variable.other.object.declare.for +- source: ':' + scopes: + - punctuation.separator.colon.range-based +- source: ' query' + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: entry + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: uid +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: ': ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: entry + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: part_name +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: ', ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: 'cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: entry + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: install_date +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: std + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: conn + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: Close + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: return + scopes: + - keyword.control.return +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition From 7585a5c6a60b8d464fe592fe9ed50ef5155f534d Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Tue, 16 Apr 2024 13:30:45 -0500 Subject: [PATCH 48/65] Update README.md --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1c48d745..a95b5227 100644 --- a/README.md +++ b/README.md @@ -49,13 +49,17 @@ NOTE: The default VS Code theme does not color much. Switch to the Dark+ theme ( - [Syntax Highlight Theme](https://marketplace.visualstudio.com/items?itemName=peaceshi.syntax-highlight) - [Default Theme Enhanced](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-themes) -## How do I use it? +## How do I use the extension? Just install the VS Code extension and the changes will automatically be applied to all relevant files.
Link: https://marketplace.visualstudio.com/items?itemName=jeff-hykin.better-cpp-syntax # Comparison (Material Theme) compare +## How do I use the grammar? (as an upstream for my non-vs code editor) + +1. Watch the the "Major Changes" thread [here](https://github.com/jeff-hykin/better-cpp-syntax/issues/64) to know when I change licenses, the codebase structure, or just major highlighting changes. +2. I support non-VS Code usecases. E.g. yes, you are welcome to open issues [like this one](https://github.com/jeff-hykin/better-cpp-syntax/issues/653) that don't affect VS Code. ## What is different from atom/language-c? It fixes: From 0bb1843a66b95e9a1244c454f4d55def34b3de86 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Thu, 4 Jul 2024 18:18:00 -0500 Subject: [PATCH 49/65] add support for commands/test outside of fornix --- commands/project/test | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/commands/project/test b/commands/project/test index 42ce4df1..020f3fe3 100755 --- a/commands/project/test +++ b/commands/project/test @@ -1,5 +1,10 @@ #!/usr/bin/env bash +if [ -z "$FORNIX_FOLDER" ] +then + FORNIX_FOLDER="." +fi + npx textmate-tester \ --textmateExtension cpp \ --syntax "$FORNIX_FOLDER/autogenerated/cpp.tmLanguage.json" \ From 407d6fdc03425d48b3d00bd8f1022dd976cc4b78 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Fri, 5 Jul 2024 17:29:24 -0500 Subject: [PATCH 50/65] fix #527 --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 8 ++- language_examples/feature_preprocessor.cpp | 7 +++ .../feature_preprocessor.spec.yaml | 49 +++++++++++++++++++ language_examples/ranged_for.spec.yaml | 6 ++- main/patterns/comments.rb | 10 +++- package-lock.json | 4 +- 7 files changed, 79 insertions(+), 7 deletions(-) diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 794a4cf7..00f5ac13 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((? Date: Fri, 5 Jul 2024 17:29:42 -0500 Subject: [PATCH 51/65] bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c5b943ae..b5ccb196 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.22.0", + "version": "1.23.0", "icon": "icon.png", "scripts": {}, "keywords": [ From be00901013c5e45d120b8d2a7762037273c5ce32 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Fri, 5 Jul 2024 18:01:37 -0500 Subject: [PATCH 52/65] fix #647 --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 122 +++++++++--------- language_examples/#647.cpp | 5 + language_examples/#647.spec.yaml | 104 +++++++++++++++ main/main.rb | 2 +- main/textmate_tools.rb | 8 +- 6 files changed, 179 insertions(+), 64 deletions(-) create mode 100644 language_examples/#647.cpp create mode 100644 language_examples/#647.spec.yaml diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 00f5ac13..6c18dd40 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -1979,7 +1979,7 @@ ] }, "control_flow_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)", "end": "\\}", "beginCaptures": { "1": { @@ -2095,7 +2095,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -3597,7 +3597,7 @@ ] }, "exception_keywords": { - "match": "((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -3916,7 +3916,7 @@ "7": { "patterns": [ { - "match": "((?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(?<=^|\\))(?:\\s+)?(->)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "punctuation.definition.function.return-type.cpp" @@ -4300,7 +4300,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", "beginCaptures": { "1": { "name": "meta.qualified_type.cpp", @@ -4479,7 +4479,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", "beginCaptures": { "1": { "name": "meta.qualified_type.cpp", @@ -4778,7 +4778,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(?<=protected|virtual|private|public|,|:)(?:\\s+)?(?!(?:(?:protected|private|public)|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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "meta.qualified_type.cpp", @@ -5416,7 +5416,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", + "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", "end": "(?=;)", "beginCaptures": { "1": { @@ -6596,7 +6596,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)", + "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)", "end": "(?=;)", "beginCaptures": { "1": { @@ -6895,7 +6895,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:<=>)|(?:<<=)|(?:new)|(?:>>=)|(?:\\->\\*)|(?:\\/=)|(?:%=)|(?:&=)|(?:>=)|(?:\\|=)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:<<)|(?:>>)|(?:\\-\\-)|(?:<=)|(?:\\^=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))", "beginCaptures": { "0": { @@ -7431,7 +7431,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", + "match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.])", "captures": { "0": { "patterns": [ @@ -11446,7 +11446,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)", + "match": "((?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)", "captures": { "1": { "name": "meta.type.cpp" @@ -11674,7 +11674,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)", + "match": "((?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)", "captures": { "1": { "name": "meta.type.cpp" @@ -11940,7 +11940,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?", + "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?", "captures": { "1": { "name": "meta.qualified_type.cpp", @@ -12963,7 +12963,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))|(.*(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", - "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()", + "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", "beginCaptures": { "1": { "name": "meta.qualified_type.cpp", @@ -16700,7 +16700,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", + "match": "(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { "name": "storage.modifier.cpp" @@ -17806,7 +17806,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", + "match": "(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", "captures": { "1": { "patterns": [ @@ -18554,7 +18554,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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)|(?:constexpr)|(?:co_return)|(?:consteval)|(?:co_await)|(?:continue)|(?:template)|(?:reflexpr)|(?:volatile)|(?:register)|(?:co_await)|(?:co_yield)|(?:restrict)|(?:noexcept)|(?:volatile)|(?:override)|(?:explicit)|(?:decltype)|(?:operator)|(?:noexcept)|(?: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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)", + "match": "(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)", "captures": { "1": { "patterns": [ @@ -18904,7 +18904,7 @@ "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" }, { - "match": "(? Date: Fri, 5 Jul 2024 18:01:43 -0500 Subject: [PATCH 53/65] - --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b5ccb196..bcbf849e 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.23.0", + "version": "1.23.1", "icon": "icon.png", "scripts": {}, "keywords": [ From 683e8224c5afc42e6fabaff669eba76f197dc5ef Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Fri, 5 Jul 2024 18:04:23 -0500 Subject: [PATCH 54/65] fix #646 --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 46 ------------------- language_examples/feature_preprocessor.cpp | 11 ++++- .../feature_preprocessor.spec.yaml | 22 +++++---- main/patterns/preprocessor.rb | 20 ++++---- 5 files changed, 33 insertions(+), 68 deletions(-) diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 6c18dd40..f7cecce0 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((? Date: Fri, 5 Jul 2024 18:27:08 -0500 Subject: [PATCH 55/65] fix #638 --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 117 +++++++++++- autogenerated/cpp_scopes.txt | 5 + language_examples/#396.spec.yaml | 12 +- language_examples/638.cpp | 16 ++ language_examples/638.spec.yaml | 179 ++++++++++++++++++ .../feature_preprocessor.spec.yaml | 91 +++++++++ main/main.rb | 18 +- main/tokens.rb | 2 +- 9 files changed, 429 insertions(+), 13 deletions(-) create mode 100644 language_examples/638.cpp create mode 100644 language_examples/638.spec.yaml diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index f7cecce0..6949cc7c 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+", "captures": { diff --git a/autogenerated/cpp_scopes.txt b/autogenerated/cpp_scopes.txt index 6c6978ce..ad5ed3bf 100644 --- a/autogenerated/cpp_scopes.txt +++ b/autogenerated/cpp_scopes.txt @@ -132,11 +132,13 @@ keyword.other.default.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp keyword.other.delete.function.cpp +keyword.other.functionlike.cpp keyword.other.namespace.alias.cpp keyword.other.namespace.definition.cpp keyword.other.namespace.directive.cpp keyword.other.operator.overload.cpp keyword.other.parameter.direction.$0.cpp +keyword.other.requires.cpp keyword.other.static_assert.cpp keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.suffix.literal.built-in.integer.cpp @@ -166,6 +168,7 @@ meta.arguments.operator.noexcept meta.arguments.operator.sizeof meta.arguments.operator.sizeof.variadic meta.arguments.operator.typeid +meta.arguments.requires meta.asm.cpp meta.banner.character.cpp meta.binding.cpp @@ -308,6 +311,7 @@ punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp +punctuation.section.arguments.begin.bracket.round.requires.cpp punctuation.section.arguments.begin.bracket.round.static_assert.cpp punctuation.section.arguments.end.bracket.curly.initializer.cpp punctuation.section.arguments.end.bracket.round.decltype.cpp @@ -321,6 +325,7 @@ punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp punctuation.section.arguments.end.bracket.round.operator.typeid.cpp +punctuation.section.arguments.end.bracket.round.requires.cpp punctuation.section.arguments.end.bracket.round.static_assert.cpp punctuation.section.attribute.begin.cpp punctuation.section.attribute.end.cpp diff --git a/language_examples/#396.spec.yaml b/language_examples/#396.spec.yaml index dc474bd0..28809194 100644 --- a/language_examples/#396.spec.yaml +++ b/language_examples/#396.spec.yaml @@ -95,13 +95,14 @@ - keyword.operator.and - source: requires scopes: + - keyword.other.functionlike - keyword.other.requires - source: ( - scopesBegin: - - meta.parens scopes: - - punctuation.section.parens.begin.bracket.round + - punctuation.section.arguments.begin.bracket.round.requires - source: From + scopesBegin: + - meta.arguments.requires scopes: - entity.name.function.call - source: ( @@ -123,12 +124,11 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.arguments.requires - meta.parens - source: ) scopes: - - punctuation.section.parens.end.bracket.round - scopesEnd: - - meta.parens + - punctuation.section.arguments.end.bracket.round.requires - source: '{' scopesBegin: - meta.block diff --git a/language_examples/638.cpp b/language_examples/638.cpp new file mode 100644 index 00000000..282a97cc --- /dev/null +++ b/language_examples/638.cpp @@ -0,0 +1,16 @@ +template +struct S{ + int foo() requires(n == 2) + { + return 2; + } + + + int foo() requires(n < 2) + { + return 2; + } + +private: + int b; +}; \ No newline at end of file diff --git a/language_examples/638.spec.yaml b/language_examples/638.spec.yaml new file mode 100644 index 00000000..25ba9337 --- /dev/null +++ b/language_examples/638.spec.yaml @@ -0,0 +1,179 @@ +- source: template + scopes: + - storage.type.template +- source: < + scopes: + - punctuation.section.angle-brackets.begin.template.definition +- source: int + scopesBegin: + - meta.template.definition + scopes: + - storage.type.template.argument.int +- source: 'n' + scopes: + - entity.name.type.template + scopesEnd: + - meta.template.definition +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.definition +- source: struct + scopesBegin: + - meta.block.struct + scopes: + - meta.head.struct + - storage.type.struct +- source: S + scopes: + - entity.name.type.struct +- source: '{' + scopes: + - meta.head.struct + - punctuation.section.block.begin.bracket.curly.struct +- source: int + scopesBegin: + - meta.body.struct + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: foo + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: requires + scopes: + - keyword.other.functionlike + - keyword.other.requires +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.requires +- source: 'n ' + scopesBegin: + - meta.arguments.requires +- source: '==' + scopes: + - keyword.operator.comparison +- source: '2' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.arguments.requires +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.requires +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: return + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.return +- source: '2' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.body.function.definition +- source: int + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: foo + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: requires + scopes: + - keyword.other.functionlike + - keyword.other.requires +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.requires +- source: 'n ' + scopesBegin: + - meta.arguments.requires +- source: < + scopes: + - keyword.operator.comparison +- source: '2' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.arguments.requires +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.requires +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: return + scopesBegin: + - meta.body.function.definition + scopes: + - keyword.control.return +- source: '2' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition + scopesEnd: + - meta.function.definition + - meta.body.function.definition +- source: private + scopesBegin: + - storage.type.modifier.access.control.private +- source: ':' + scopes: + - punctuation.separator.colon.access.control + scopesEnd: + - storage.type.modifier.access.control.private +- source: int + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: b + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.struct + scopesEnd: + - meta.body.struct +- source: ; + scopes: + - punctuation.terminator.statement diff --git a/language_examples/feature_preprocessor.spec.yaml b/language_examples/feature_preprocessor.spec.yaml index baf3368f..c3f51b18 100644 --- a/language_examples/feature_preprocessor.spec.yaml +++ b/language_examples/feature_preprocessor.spec.yaml @@ -823,3 +823,94 @@ - source: '*/' scopes: - punctuation.definition.comment.end + scopesEnd: + - meta.preprocessor.conditional + - comment.block +- source: '#' + scopesBegin: + - meta.preprocessor.macro + - keyword.control.directive.define + scopes: + - punctuation.definition.directive +- source: define + scopesEnd: + - keyword.control.directive.define +- source: test + scopes: + - entity.name.function.preprocessor +- source: ' test2' +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' line 1' +- source: ' The timeout is set to 5x to ensure we don''t timeout too early. ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - meta.preprocessor.macro + - comment.block +- source: /* + scopesBegin: + - comment.block + scopes: + - punctuation.definition.comment.begin +- source: ' test comment ' +- source: '*/' + scopes: + - punctuation.definition.comment.end + scopesEnd: + - comment.block +- source: typedef + scopes: + - keyword.other.typedef +- source: enum + scopesBegin: + - meta.block.enum + - meta.head.enum + scopes: + - storage.type.enum +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.enum + scopesEnd: + - meta.head.enum +- source: A + scopesBegin: + - meta.body.enum + - meta.enum.definition + scopes: + - variable.other.enummember +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: B + scopes: + - variable.other.enummember +- source: '=' + scopes: + - keyword.operator.assignment +- source: '1' + scopes: + - constant.numeric.decimal + scopesEnd: + - meta.enum.definition +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.enum + scopesEnd: + - meta.body.enum +- source: BB + scopes: + - meta.tail.enum +- source: ; + scopes: + - punctuation.terminator.statement diff --git a/main/main.rb b/main/main.rb index 8726619f..5a934ce5 100644 --- a/main/main.rb +++ b/main/main.rb @@ -388,7 +388,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: variableBounds[ @cpp_tokens.that(:isFunctionSpecifier) ], tag_as: "storage.modifier.specifier.functional.pre-parameters.$match" ) - grammar[:qualifiers_and_specifiers_post_parameters] = Pattern.new( + grammar[:qualifiers_and_specifiers_post_parameters_inline] = Pattern.new( should_partially_match: ["final override;", "const noexcept {"], match: oneOrMoreOf(std_space.then( Pattern.new( @@ -396,7 +396,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: should_not_fully_match: ["const noexcept"], should_not_partial_match: ["return"], tag_as: "storage.modifier.specifier.functional.post-parameters.$match", - match: variableBounds[ @cpp_tokens.that(:canAppearAfterParametersBeforeBody) ], + match: variableBounds[ @cpp_tokens.that(:canAppearAfterParametersBeforeBody, not(:isFunctionLike)) ], ) )).lookAheadFor( Pattern.new(/\s*/).then( @@ -410,6 +410,16 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ) ) ) + grammar[:qualifiers_and_specifiers_post_parameters] = [ + functionCallGenerator[ + repository_name: "requires_keyword", + match_name: variableBounds[/requires/], + tag_name_as: "keyword.other.functionlike keyword.other.requires", + tag_content_as: "arguments.requires", + tag_parenthese_as: "requires" + ], + grammar[:qualifiers_and_specifiers_post_parameters_inline], + ] grammar[:storage_specifiers] = storage_specifier = Pattern.new( std_space.then( match: variableBounds[ @cpp_tokens.that(:isStorageSpecifier) ], @@ -1655,7 +1665,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: "keyword.operator.wordlike keyword.operator.$match", ), ] - array_of_function_like_operators = @cpp_tokens.tokens.select { |each| each[:isFunctionLike] && each[:isWord] && !each[:isSpecifier] } + array_of_function_like_operators = @cpp_tokens.tokens.select { |each| each[:isOperator] && each[:isFunctionLike] && each[:isWord] && !each[:isSpecifier] } for each in array_of_function_like_operators name = each[:name] grammar[:operators].push(functionCallGenerator[ @@ -1723,7 +1733,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # # function pointer # - after_declaration = std_space.maybe(grammar[:qualifiers_and_specifiers_post_parameters].then(std_space)).lookAheadFor(/[{=,);>]|\n/).lookAheadToAvoid(/\(/) + after_declaration = std_space.maybe(grammar[:qualifiers_and_specifiers_post_parameters_inline].then(std_space)).lookAheadFor(/[{=,);>]|\n/).lookAheadToAvoid(/\(/) functionPointerGenerator = ->(identifier_tag) do return PatternRange.new( start_pattern: grammar[:simple_type].then(std_space).then( diff --git a/main/tokens.rb b/main/tokens.rb index b8209d83..b1756c3d 100644 --- a/main/tokens.rb +++ b/main/tokens.rb @@ -266,7 +266,7 @@ { representation: "__asm__" , name: "__asm__" }, # { representation: "concept" , name: "concept" , isCurrentlyAMiscKeyword: true }, - { representation: "requires" , name: "requires" , isCurrentlyAMiscKeyword: true }, + { representation: "requires" , name: "requires" , canAppearAfterParametersBeforeBody: true, isFunctionLike: true }, { representation: "export" , name: "export" , isCurrentlyAMiscKeyword: true }, { representation: "atomic_cancel" , name: "atomic_cancel" }, { representation: "atomic_commit" , name: "atomic_commit" }, From c48cb96d05ccc9f0320491251c3bd38a3dd84e41 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Thu, 11 Jul 2024 13:02:50 -0500 Subject: [PATCH 56/65] alternation is behaving weird so wrap some things for sanity sake --- main/main.rb | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/main/main.rb b/main/main.rb index 5a934ce5..599fb79b 100644 --- a/main/main.rb +++ b/main/main.rb @@ -70,11 +70,11 @@ ) assignment_operators = oneOf([ Pattern.new( - match: /%=|\+=|-=|\*=|(?>=|\|=/, + match: /(?:&=|\^=|<<=|>>=|\|=)/, tag_as: "keyword.operator.assignment.compound.bitwise" ), assignment_operator, @@ -1708,24 +1708,24 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: "keyword.operator.increment" ), Pattern.new( - match: /<<|>>/, + match: /(?:<<|>>)/, tag_as: "keyword.operator.bitwise.shift" ), Pattern.new( - match: /!=|<=|>=|==|<|>/, + match: /(?:!=|<=|>=|==|<|>)/, tag_as: "keyword.operator.comparison" ), Pattern.new( - match: /&&|!|\|\|/, + match: /(?:&&|!|\|\|)/, tag_as: "keyword.operator.logical" ), Pattern.new( - match: /&|\||\^|~/, + match: /(?:&|\||\^|~)/, tag_as: "keyword.operator.bitwise" ), assignment_operators, Pattern.new( - match: /%|\*|\/|-|\+/, + match: /(?:%|\*|\/|-|\+)/, tag_as: "keyword.operator.arithmetic" ), :ternary_operator, From 01ca0d40017aaa2d36ecb053d8ae0ad65702d7e9 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Thu, 11 Jul 2024 13:42:07 -0500 Subject: [PATCH 57/65] better support for initlizers and ranged assignment --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 499 ++++- autogenerated/cpp_scopes.txt | 1 + language_examples/#071.cpp | 13 +- language_examples/#071.spec.yaml | 286 ++- language_examples/#414.spec.yaml | 22 +- language_examples/#442.spec.yaml | 49 +- language_examples/#651.spec.yaml | 30 +- language_examples/constructor_call.cpp | 114 ++ language_examples/constructor_call.spec.yaml | 1690 +++++++++++++++++ language_examples/misc_000.spec.yaml | 10 +- language_examples/misc_005.spec.yaml | 50 +- language_examples/misc_006.spec.yaml | 10 +- language_examples/misc_asteria.spec.yaml | 75 +- ...operator_overload_implicit_const.spec.yaml | 28 +- language_examples/ranged_for.spec.yaml | 68 +- language_examples/test.spec.yaml | 16 +- language_examples/theme_demo.spec.yaml | 1 + main/main.rb | 41 + package.json | 2 +- 20 files changed, 2928 insertions(+), 79 deletions(-) create mode 100644 language_examples/constructor_call.cpp create mode 100644 language_examples/constructor_call.spec.yaml diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 6949cc7c..06ec37a8 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>","name":"keyword.operator.bitwise.shift.cpp"},{"match":"!=|<=|>=|==|<|>","name":"keyword.operator.comparison.cpp"},{"match":"&&|!|\\|\\|","name":"keyword.operator.logical.cpp"},{"match":"&|\\||\\^|~","name":"keyword.operator.bitwise.cpp"},{"match":"(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"%|\\*|\\/|-|\\+","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>)","name":"keyword.operator.bitwise.shift.cpp"},{"match":"(?:!=|<=|>=|==|<|>)","name":"keyword.operator.comparison.cpp"},{"match":"(?:&&|!|\\|\\|)","name":"keyword.operator.logical.cpp"},{"match":"(?:&|\\||\\^|~)","name":"keyword.operator.bitwise.cpp"},{"match":"(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"(?:%|\\*|\\/|-|\\+)","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|\\?\\?>)|(?=[;>\\[\\]=]))", @@ -3515,6 +3725,15 @@ { "include": "#language_constants" }, + { + "include": "#constructor_bracket_call" + }, + { + "include": "#simple_constructor_call" + }, + { + "include": "#simple_array_assignment" + }, { "include": "#builtin_storage_type_initilizer" }, @@ -3721,6 +3940,9 @@ { "include": "#ever_present_context" }, + { + "include": "#simple_array_assignment" + }, { "include": "#using_namespace" }, @@ -6534,7 +6756,7 @@ ] }, "normal_variable_assignment": { - "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", + "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))", "end": "(?=;)", "beginCaptures": { "1": { @@ -8236,23 +8458,23 @@ "name": "keyword.operator.increment.cpp" }, { - "match": "<<|>>", + "match": "(?:<<|>>)", "name": "keyword.operator.bitwise.shift.cpp" }, { - "match": "!=|<=|>=|==|<|>", + "match": "(?:!=|<=|>=|==|<|>)", "name": "keyword.operator.comparison.cpp" }, { - "match": "&&|!|\\|\\|", + "match": "(?:&&|!|\\|\\|)", "name": "keyword.operator.logical.cpp" }, { - "match": "&|\\||\\^|~", + "match": "(?:&|\\||\\^|~)", "name": "keyword.operator.bitwise.cpp" }, { - "match": "(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", + "match": "(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))", "captures": { "1": { "name": "keyword.operator.assignment.compound.cpp" @@ -8266,7 +8488,7 @@ } }, { - "match": "%|\\*|\\/|-|\\+", + "match": "(?:%|\\*|\\/|-|\\+)", "name": "keyword.operator.arithmetic.cpp" }, { @@ -13061,6 +13283,258 @@ "match": ";", "name": "punctuation.terminator.statement.cpp" }, + "simple_array_assignment": { + "match": "((?>=|\\|=))|(\\=))", + "captures": { + "1": { + "name": "variable.other.assignment.cpp" + }, + "2": { + "name": "punctuation.definition.begin.bracket.square.array.type.cpp" + }, + "3": { + "name": "punctuation.definition.end.bracket.square.array.type.cpp" + }, + "4": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "5": { + "patterns": [ + { + "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", + "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" + } + } + } + ] + }, + "6": { + "name": "keyword.operator.assignment.compound.cpp" + }, + "7": { + "name": "keyword.operator.assignment.compound.bitwise.cpp" + }, + "8": { + "name": "keyword.operator.assignment.cpp" + } + } + }, + "simple_constructor_call": { + "match": "(?!class|struct|union|enum|explicit|new|delete|operator|template|throw|decltype|typename|override|final)\\b(\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(?=((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?", "captures": { @@ -15953,6 +16427,15 @@ { "include": "#language_constants" }, + { + "include": "#constructor_bracket_call" + }, + { + "include": "#simple_constructor_call" + }, + { + "include": "#simple_array_assignment" + }, { "include": "#builtin_storage_type_initilizer" }, @@ -18563,7 +19046,7 @@ "name": "punctuation.vararg-ellipses.cpp" }, "variable_assignment": { - "match": "(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(%=|\\+=|-=|\\*=|(?>=|\\|=)|(\\=))", + "match": "(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))", "captures": { "1": { "patterns": [ diff --git a/autogenerated/cpp_scopes.txt b/autogenerated/cpp_scopes.txt index ad5ed3bf..dee775c2 100644 --- a/autogenerated/cpp_scopes.txt +++ b/autogenerated/cpp_scopes.txt @@ -15,6 +15,7 @@ constant.numeric.exponent.hexadecimal.cpp constant.numeric.hexadecimal.cpp constant.numeric.octal.cpp constant.other.placeholder +entity.name.function.call.constructor.cpp entity.name.function.call.cpp entity.name.function.call.initializer.cpp entity.name.function.constructor.cpp diff --git a/language_examples/#071.cpp b/language_examples/#071.cpp index 4506ae18..c3ea66e6 100644 --- a/language_examples/#071.cpp +++ b/language_examples/#071.cpp @@ -15,4 +15,15 @@ usertype user_value{'A'}; scoped::templated value; compound::type value; int a[] = {1,2,3}; -void function_declaration(int *, usertype user_value); \ No newline at end of file +function_declaration(int *, usertype user_value); + +int main() { + int a; + int b; + usertype user_value; + usertype user_value{'A'}; + scoped::templated value; + compound::type value; + int a[] = {1,2,3}; + function_declaration(int *, usertype user_value); +} \ No newline at end of file diff --git a/language_examples/#071.spec.yaml b/language_examples/#071.spec.yaml index a386591e..f4814792 100644 --- a/language_examples/#071.spec.yaml +++ b/language_examples/#071.spec.yaml @@ -45,7 +45,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' usertype user_value' +- source: usertype + scopes: + - meta.qualified_type + - entity.name.type +- source: user_value + scopes: + - entity.name.function.call.constructor - source: '{' scopesBegin: - meta.block @@ -74,7 +80,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a[] ' +- source: a + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -221,7 +235,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: usertype user_value +- source: usertype + scopes: + - meta.qualified_type + - entity.name.type +- source: user_value + scopes: + - entity.name.function.call.constructor - source: '{' scopesBegin: - meta.block @@ -312,7 +332,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a[] ' +- source: a + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -344,14 +372,37 @@ - source: ; scopes: - punctuation.terminator.statement -- source: void +- source: function_declaration + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: int + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' usertype user_value' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: int scopesBegin: - meta.function.definition scopes: - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: function_declaration +- source: main scopesBegin: - meta.head.function.definition scopes: @@ -359,34 +410,231 @@ - source: ( scopes: - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition - source: int scopesBegin: - - meta.function.definition.parameters - - meta.parameter + - meta.body.function.definition scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive +- source: a + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: b + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: usertype + scopes: + - meta.qualified_type + - entity.name.type +- source: user_value + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: usertype + scopes: + - meta.qualified_type + - entity.name.type +- source: user_value + scopes: + - entity.name.function.call.constructor +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '''' + scopesBegin: + - string.quoted.single + scopes: + - punctuation.definition.string.begin +- source: A +- source: '''' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.single +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: scoped + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: templated + scopes: + - entity.name.type +- source: < + scopesBegin: + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: type + scopes: + - meta.qualified_type + - entity.name.type +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: value + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: compound + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: < + scopesBegin: + - meta.template.call + - meta.template.call + scopes: + - punctuation.section.angle-brackets.begin.template.call +- source: typename + scopes: + - storage.modifier +- source: templated + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: type + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type - source: '*' scopes: - - storage.modifier.pointer + - keyword.operator.arithmetic +- source: '>' + scopes: + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.template.call + - meta.template.call +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: type + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type +- source: value + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: int + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: a + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type +- source: '=' + scopes: + - keyword.operator.assignment +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '1' + scopes: + - constant.numeric.decimal - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: usertype +- source: '2' scopes: - - entity.name.type.parameter -- source: user_value + - constant.numeric.decimal +- source: ',' scopes: - - variable.parameter + - punctuation.separator.delimiter.comma +- source: '3' + scopes: + - constant.numeric.decimal +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly scopesEnd: - - meta.function.definition.parameters - - meta.parameter + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: function_declaration + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: int + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: '*' + scopes: + - keyword.operator.arithmetic +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' usertype user_value' - source: ) scopes: - - punctuation.section.parameters.end.bracket.round - scopesEnd: - - meta.function.definition - - meta.head.function.definition + - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/#414.spec.yaml b/language_examples/#414.spec.yaml index 468506f1..19ed64c2 100644 --- a/language_examples/#414.spec.yaml +++ b/language_examples/#414.spec.yaml @@ -1,4 +1,8 @@ -- source: L_API ALenum AL_APIENTRY +- source: L_API ALenum +- source: AL_APIENTRY + scopes: + - meta.qualified_type + - entity.name.type - source: alGetError scopes: - entity.name.function.call @@ -18,7 +22,13 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' ContextRef context' +- source: ContextRef + scopes: + - meta.qualified_type + - entity.name.type +- source: context + scopes: + - entity.name.function.call.constructor - source: '{' scopesBegin: - meta.block @@ -65,7 +75,13 @@ - source: constexpr scopes: - storage.modifier.specifier.functional.pre-parameters.constexpr -- source: ' ALenum deferror' +- source: ALenum + scopes: + - meta.qualified_type + - entity.name.type +- source: deferror + scopes: + - entity.name.function.call.constructor - source: '{' scopesBegin: - meta.block diff --git a/language_examples/#442.spec.yaml b/language_examples/#442.spec.yaml index ea69cf61..d5e7cd53 100644 --- a/language_examples/#442.spec.yaml +++ b/language_examples/#442.spec.yaml @@ -1198,6 +1198,8 @@ - comment.block.documentation - source: ' REPROCXX_EXPORT' - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1205,6 +1207,10 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type - source: start scopes: - entity.name.function.call @@ -1342,6 +1348,8 @@ - comment.block.documentation - source: ' REPROCXX_EXPORT' - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1349,24 +1357,37 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: stream + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution + - punctuation.separator.scope-resolution.template.call - source: error_code + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call - source: poll scopes: - entity.name.function.call @@ -1572,6 +1593,8 @@ - punctuation.terminator.statement - source: ' REPROCXX_EXPORT' - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1579,6 +1602,10 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type - source: close scopes: - entity.name.function.call @@ -1672,6 +1699,8 @@ - punctuation.terminator.statement - source: ' REPROCXX_EXPORT' - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1679,6 +1708,10 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type - source: terminate scopes: - entity.name.function.call @@ -1696,6 +1729,8 @@ - punctuation.terminator.statement - source: ' REPROCXX_EXPORT' - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -1703,6 +1738,10 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - entity.name.type + scopesEnd: + - meta.qualified_type - source: kill scopes: - entity.name.function.call diff --git a/language_examples/#651.spec.yaml b/language_examples/#651.spec.yaml index 65cb7db5..c93f9d23 100644 --- a/language_examples/#651.spec.yaml +++ b/language_examples/#651.spec.yaml @@ -27,6 +27,8 @@ scopes: - storage.modifier.specifier.functional.pre-parameters.constexpr - source: std + scopesBegin: + - meta.qualified_type scopes: - entity.name.scope-resolution - source: '::' @@ -37,7 +39,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' highlight' + scopesEnd: + - meta.qualified_type +- source: highlight + scopes: + - entity.name.function.call.constructor - source: '{' scopesBegin: - meta.block @@ -55,6 +61,11 @@ scopes: - storage.modifier.specifier.const - source: '::' + scopesBegin: + - meta.qualified_type + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution - source: std scopes: - entity.name.scope-resolution @@ -66,7 +77,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' highlight2' + scopesEnd: + - meta.qualified_type +- source: highlight2 + scopes: + - entity.name.function.call.constructor - source: '{' scopesBegin: - meta.block @@ -142,6 +157,11 @@ scopes: - storage.modifier.specifier.functional.pre-parameters.constexpr - source: '::' + scopesBegin: + - meta.qualified_type + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution - source: std scopes: - entity.name.scope-resolution @@ -153,7 +173,11 @@ scopes: - storage.type - storage.type.built-in -- source: ' no_highlight' + scopesEnd: + - meta.qualified_type +- source: no_highlight + scopes: + - entity.name.function.call.constructor - source: '{' scopesBegin: - meta.block diff --git a/language_examples/constructor_call.cpp b/language_examples/constructor_call.cpp new file mode 100644 index 00000000..7aad3c8b --- /dev/null +++ b/language_examples/constructor_call.cpp @@ -0,0 +1,114 @@ +#include +#include +#include + +#include "Stress_ball.h" +#include "Collection.h" + +void test_stress_balls() +{ + A; + srand(time(0)); + + // open input files + ifstream input_file1("stress_ball1.data"); + if (!input_file1) { + cout << ">>> Cannot open the file: stress_ball1.data\n"; + exit(1); + } + ifstream input_file2("stress_ball2.data"); + if (!input_file2) { + cout << ">>> Cannot open the file: stress_ball2.data\n"; + exit(1); + } + + // Making collections + CollectionSB c1; + input_file1 >> c1; + + CollectionSB c2; + input_file2 >> c2; + + // optional: + //CollectionSB c1(5); + //CollectionSB c2(10); + + //print collections + cout << endl << "CollectionSB 1:\n"; + c1.print_items(); + cout << endl << "CollectionSB 2:\n"; + c2.print_items(); + cout << endl; + + CollectionSB c3 = make_union(c1, c2); + cout << endl << "CollectionSB 3:\n"; + cout << c3 << endl; + + cout << "total no. of stress balls = " + << c3.total_items() << endl; + cout << "total no. of small stress balls = " + << c3.total_items(Stress_ball_sizes::small) << endl; + cout << "total no. of medium stress balls = " + << c3.total_items(Stress_ball_sizes::medium) << endl; + cout << "total no. of large stress balls = " + << c3.total_items(Stress_ball_sizes::large) << endl; + cout << "total no. of red stress balls = " + << c3.total_items(Stress_ball_colors::red) << endl; + + Stress_ball sb(Stress_ball_colors::green, Stress_ball_sizes::small); + if (c3.contains(sb)) + cout << "CollectionSB 3 contains (green, small) stress ball\n"; + else + cout << "CollectionSB 3 does not contain (green, small) stress ball\n"; + + cout << "\nRemove all (green, small) stress ball\n"; + while (c3.contains(sb)) + c3.remove_this_item(sb); + cout << "total no. of stress balls = " + << c3.total_items() << endl; + + if (c3.contains(sb)) + cout << "CollectionSB 3 contains (green, small) stress ball\n"; + else + cout << "CollectionSB 3 does not contain (green, small) stress ball\n"; + + cout << "Add (green, small) stress ball\n"; + c3.insert_item(sb); + if (c3.contains(sb)) + cout << "CollectionSB 3 contains (green, small) stress ball\n"; + else + cout << "CollectionSB 3 does not contain (green, small) stress ball\n"; + + CollectionSB c4(c3); //make a copy + sort_by_size(c3, Sort_choice::bubble_sort); + cout << endl << "CollectionSB 3 sorted by bubble sort:\n"; + cout << c3; + + c3 = c4; + sort_by_size(c3, Sort_choice::quick_sort); + cout << endl << "CollectionSB 3 sorted by quick sort:\n"; + cout << c3 << endl; + + c3 = c4; + sort_by_size(c3, Sort_choice::merge_sort); + cout << endl << "CollectionSB 3 sorted by merge sort:\n"; + cout << c3 << endl; + + cout << "Make empty collection 3\n"; + c3.make_empty(); + if (c3.is_empty()) + cout << "CollectionSB 3 is empty\n"; + cout << endl << "CollectionSB 3:\n"; + cout << c3 << endl; + + cout << "Make copy of collection 1 to collection 3\n"; + c3 = c1; + cout << endl << "CollectionSB 3:\n"; + cout << c3 << endl; + + cout << "Swap collections 2 and 3:\n"; + swap(c2, c3); + cout << endl << "CollectionSB 3:\n"; + cout << c3 << endl; +} + diff --git a/language_examples/constructor_call.spec.yaml b/language_examples/constructor_call.spec.yaml new file mode 100644 index 00000000..53ae4756 --- /dev/null +++ b/language_examples/constructor_call.spec.yaml @@ -0,0 +1,1690 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: iostream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: fstream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: sstream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: Stress_ball.h +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: Collection.h +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: void + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified_type + - storage.type.primitive + - storage.type.built-in.primitive +- source: test_stress_balls + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: ' A' + scopesBegin: + - meta.body.function.definition +- source: ; + scopes: + - punctuation.terminator.statement +- source: srand + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: time + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '0' + scopes: + - constant.numeric.decimal +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' open input files' + scopesEnd: + - comment.line.double-slash +- source: ifstream + scopes: + - meta.qualified_type + - entity.name.type +- source: input_file1 + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: stress_ball1.data +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: input_file1 +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '>>> Cannot open the file: stress_ball1.data' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: exit + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ifstream + scopes: + - meta.qualified_type + - entity.name.type +- source: input_file2 + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: stress_ball2.data +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: '!' + scopes: + - keyword.operator.logical +- source: input_file2 +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '>>> Cannot open the file: stress_ball2.data' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: exit + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: '1' + scopes: + - constant.numeric.decimal +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' Making collections' + scopesEnd: + - comment.line.double-slash +- source: CollectionSB + scopes: + - meta.qualified_type + - entity.name.type +- source: c1 + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' input_file1 ' +- source: '>>' + scopes: + - keyword.operator.bitwise.shift +- source: ' c1' +- source: ; + scopes: + - punctuation.terminator.statement +- source: CollectionSB + scopes: + - meta.qualified_type + - entity.name.type +- source: c2 + scopes: + - variable.other.object.declare +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' input_file2 ' +- source: '>>' + scopes: + - keyword.operator.bitwise.shift +- source: ' c2' +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: ' optional:' +- source: // + scopes: + - punctuation.definition.comment +- source: CollectionSB c1(5); +- source: // + scopes: + - punctuation.definition.comment +- source: CollectionSB c2(10); +- source: // + scopes: + - punctuation.definition.comment +- source: print collections + scopesEnd: + - comment.line.double-slash +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 1:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: c1 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: print_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 2:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: c2 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: print_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: CollectionSB + scopes: + - meta.qualified_type + - entity.name.type +- source: c3 + scopes: + - variable.other.assignment +- source: '=' + scopes: + - keyword.operator.assignment +- source: make_union + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c1 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' c2' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' c3 ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of small stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: small +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of medium stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: medium +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of large stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: large +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of red stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: Stress_ball_colors + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: red +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: Stress_ball + scopes: + - meta.qualified_type + - entity.name.type +- source: sb + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Stress_ball_colors + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: green +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: small +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: contains + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 contains (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 does not contain (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: \n + scopes: + - constant.character.escape +- source: 'Remove all (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: while + scopes: + - keyword.control.while +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: contains + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: remove_this_item + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'total no. of stress balls = ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: total_items + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: contains + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 contains (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 does not contain (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'Add (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: insert_item + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: contains + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: sb +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 contains (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: else + scopes: + - keyword.control.else +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 does not contain (green, small) stress ball' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: CollectionSB + scopes: + - meta.qualified_type + - entity.name.type +- source: c4 + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c3 +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: // + scopesBegin: + - comment.line.double-slash + scopes: + - punctuation.definition.comment +- source: make a copy + scopesEnd: + - comment.line.double-slash +- source: sort_by_size + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c3 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Sort_choice + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: bubble_sort +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 sorted by bubble sort:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' c3' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' c3 ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' c4' +- source: ; + scopes: + - punctuation.terminator.statement +- source: sort_by_size + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c3 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Sort_choice + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: quick_sort +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 sorted by quick sort:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' c3 ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' c3 ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' c4' +- source: ; + scopes: + - punctuation.terminator.statement +- source: sort_by_size + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c3 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Sort_choice + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: merge_sort +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3 sorted by merge sort:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' c3 ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: Make empty collection 3 +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: make_empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ; + scopes: + - punctuation.terminator.statement +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: c3 + scopes: + - variable.other.object.access +- source: . + scopes: + - punctuation.separator.dot-access +- source: is_empty + scopes: + - entity.name.function.member +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.member +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: CollectionSB 3 is empty +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' c3 ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: Make copy of collection 1 to collection 3 +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' c3 ' +- source: '=' + scopes: + - keyword.operator.assignment +- source: ' c1' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' c3 ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'Swap collections 2 and 3:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: swap + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: c2 +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: ' c3' +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'CollectionSB 3:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: ' cout ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' c3 ' +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: ' endl' +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/misc_000.spec.yaml b/language_examples/misc_000.spec.yaml index 5e81d62a..67b75f03 100644 --- a/language_examples/misc_000.spec.yaml +++ b/language_examples/misc_000.spec.yaml @@ -8843,7 +8843,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_digits[] ' +- source: s_digits + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/misc_005.spec.yaml b/language_examples/misc_005.spec.yaml index e8a249ef..d6f79383 100644 --- a/language_examples/misc_005.spec.yaml +++ b/language_examples/misc_005.spec.yaml @@ -10798,7 +10798,10 @@ - source: ' save a success log' scopesEnd: - comment.line.double-slash -- source: ' ofstream' +- source: ofstream + scopes: + - meta.qualified_type + - entity.name.type - source: the_file_stream scopes: - entity.name.function.call @@ -25180,7 +25183,10 @@ scopesEnd: - meta.toc-list.banner.double-slash - comment.line.double-slash -- source: ' regex' +- source: regex + scopes: + - meta.qualified_type + - entity.name.type - source: is_it_an_int scopes: - entity.name.function.call @@ -25433,7 +25439,10 @@ scopesEnd: - meta.toc-list.banner.double-slash - comment.line.double-slash -- source: ' regex' +- source: regex + scopes: + - meta.qualified_type + - entity.name.type - source: is_it_a_number scopes: - entity.name.function.call @@ -26834,7 +26843,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' fstream' +- source: fstream + scopes: + - meta.qualified_type + - entity.name.type - source: the_file scopes: - entity.name.function.call @@ -27006,9 +27018,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' ofstream' +- source: ofstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type - source: the_file_stream scopes: - entity.name.function.call @@ -27129,9 +27144,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' ifstream' +- source: ifstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type - source: the_file_stream scopes: - entity.name.function.call @@ -27227,9 +27245,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' ofstream' +- source: ofstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type - source: the_file_stream scopes: - entity.name.function.call @@ -27306,9 +27327,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' ifstream' +- source: ifstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type - source: the_file scopes: - entity.name.function.call @@ -27322,7 +27346,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string' +- source: string + scopes: + - meta.qualified_type + - entity.name.type - source: content scopes: - entity.name.function.call @@ -27461,9 +27488,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' fstream' +- source: fstream scopesBegin: - meta.body.function.definition + scopes: + - meta.qualified_type + - entity.name.type - source: the_file scopes: - entity.name.function.call diff --git a/language_examples/misc_006.spec.yaml b/language_examples/misc_006.spec.yaml index 5e81d62a..67b75f03 100644 --- a/language_examples/misc_006.spec.yaml +++ b/language_examples/misc_006.spec.yaml @@ -8843,7 +8843,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_digits[] ' +- source: s_digits + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/misc_asteria.spec.yaml b/language_examples/misc_asteria.spec.yaml index 99d11a13..54fb7c5a 100644 --- a/language_examples/misc_asteria.spec.yaml +++ b/language_examples/misc_asteria.spec.yaml @@ -4622,7 +4622,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_name_chars[] ' +- source: s_name_chars + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -5117,7 +5125,15 @@ - source: constexpr scopes: - storage.modifier.specifier.functional.pre-parameters.constexpr -- source: ' s_keywords[] ' +- source: s_keywords + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -7037,7 +7053,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_punct_chars[] ' +- source: s_punct_chars + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -7321,7 +7345,15 @@ - source: constexpr scopes: - storage.modifier.specifier.functional.pre-parameters.constexpr -- source: ' s_punctuators[] ' +- source: s_punctuators + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -11783,7 +11815,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_digits[] ' +- source: s_digits + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -14678,7 +14718,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_digits[] ' +- source: s_digits + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -16629,7 +16677,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' s_suffix_chars[] ' +- source: s_suffix_chars + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -20187,7 +20243,10 @@ - source: ' Read source code line by line.' scopesEnd: - comment.line.double-slash -- source: ' Line_Reader' +- source: Line_Reader + scopes: + - meta.qualified_type + - entity.name.type - source: reader scopes: - entity.name.function.call diff --git a/language_examples/operator_overload_implicit_const.spec.yaml b/language_examples/operator_overload_implicit_const.spec.yaml index 13aa670f..ff548bd4 100644 --- a/language_examples/operator_overload_implicit_const.spec.yaml +++ b/language_examples/operator_overload_implicit_const.spec.yaml @@ -1115,28 +1115,42 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' ChunkedVector' +- source: ChunkedVector + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: std scopes: - - entity.name.scope-resolution + - entity.name.scope-resolution.template.call - source: '::' scopes: - punctuation.separator.namespace.access - - punctuation.separator.scope-resolution + - punctuation.separator.scope-resolution.template.call - source: string + scopes: + - meta.qualified_type + - entity.name.type - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: '8192' scopes: - constant.numeric.decimal - source: '>' scopes: - - keyword.operator.comparison -- source: ' store' + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call +- source: store + scopes: + - entity.name.function.call.constructor - source: '{' scopesBegin: - meta.block diff --git a/language_examples/ranged_for.spec.yaml b/language_examples/ranged_for.spec.yaml index 51c16542..1048c5c4 100644 --- a/language_examples/ranged_for.spec.yaml +++ b/language_examples/ranged_for.spec.yaml @@ -2621,9 +2621,10 @@ - storage.modifier.specifier.static - source: void scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive -- source: ' import' +- source: import - source: ( scopesBegin: - meta.parens @@ -5209,6 +5210,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: string + scopes: + - meta.qualified_type + - entity.name.type - source: sym scopes: - entity.name.function.call @@ -11980,16 +11984,25 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: set + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison -- source: 'Value ' + - punctuation.section.angle-brackets.begin.template.call +- source: Value + scopes: + - meta.qualified_type + - entity.name.type - source: '*' scopes: - keyword.operator.arithmetic - source: ',' scopes: - - punctuation.separator.delimiter.comma + - punctuation.separator.delimiter.comma.template.argument - source: decltype scopes: - keyword.operator.functionlike @@ -12006,7 +12019,10 @@ - punctuation.section.arguments.end.bracket.round.decltype - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call - source: doneKeys scopes: - entity.name.function.call @@ -15756,6 +15772,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: string + scopes: + - meta.qualified_type + - entity.name.type - source: name scopes: - entity.name.function.call @@ -30901,6 +30920,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: string + scopes: + - meta.qualified_type + - entity.name.type - source: name scopes: - entity.name.function.call @@ -30959,6 +30981,9 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: string + scopes: + - meta.qualified_type + - entity.name.type - source: contents scopes: - entity.name.function.call @@ -51849,7 +51874,15 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' vs[] ' +- source: vs + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment @@ -58963,7 +58996,13 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' CompareValues comp' +- source: CompareValues + scopes: + - meta.qualified_type + - entity.name.type +- source: comp + scopes: + - entity.name.function.call.constructor - source: '{' scopesBegin: - meta.block @@ -66744,7 +66783,10 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' DrvName' +- source: DrvName + scopes: + - meta.qualified_type + - entity.name.type - source: parsed scopes: - entity.name.function.call @@ -69726,7 +69768,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' code[] ' +- source: code + scopes: + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/test.spec.yaml b/language_examples/test.spec.yaml index cd39a8fa..6f3da51e 100644 --- a/language_examples/test.spec.yaml +++ b/language_examples/test.spec.yaml @@ -309,13 +309,25 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: unique_ptr + scopesBegin: + - meta.qualified_type + scopes: + - entity.name.type - source: < + scopesBegin: + - meta.template.call scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.begin.template.call - source: O + scopes: + - meta.qualified_type + - entity.name.type - source: '>' scopes: - - keyword.operator.comparison + - punctuation.section.angle-brackets.end.template.call + scopesEnd: + - meta.qualified_type + - meta.template.call - source: o scopes: - entity.name.function.call diff --git a/language_examples/theme_demo.spec.yaml b/language_examples/theme_demo.spec.yaml index d373638d..372ab934 100644 --- a/language_examples/theme_demo.spec.yaml +++ b/language_examples/theme_demo.spec.yaml @@ -127,6 +127,7 @@ - storage.modifier.specifier.functional.pre-parameters.inline - source: int scopes: + - meta.qualified_type - storage.type.primitive - storage.type.built-in.primitive - source: f diff --git a/main/main.rb b/main/main.rb index 599fb79b..9ea228d5 100644 --- a/main/main.rb +++ b/main/main.rb @@ -189,6 +189,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :constructor_root, :destructor_root, :function_definition, + :simple_array_assignment, :operator_overload, :using_namespace, :type_alias, @@ -265,6 +266,9 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: :the_this_keyword, :language_constants, # types, modifiers, and specifiers + :constructor_bracket_call, + :simple_constructor_call, + :simple_array_assignment, :builtin_storage_type_initilizer, # needs to be above storage types :qualifiers_and_specifiers_post_parameters, # TODO this needs to be integrated into the function definition pattern :functional_specifiers_pre_parameters, # TODO: these probably need to be moved inside the function definition pattern @@ -279,6 +283,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # :empty_square_brackets, (see https://github.com/jeff-hykin/better-cpp-syntax/pull/380#issuecomment-542491824) :semicolon, :comma, + # :unknown_variable, ] grammar[:function_parameter_context] = [ :ever_present_context, # comments and macros @@ -1058,6 +1063,42 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ), ], ) + constructor_call_base = lookAheadToAvoid(/class|struct|union|enum|explicit|new|delete|operator|template|throw|decltype|typename|override|final/).then(/\b/).then( + qualified_type + ) + grammar[:constructor_bracket_call] = Pattern.new( + constructor_call_base.then(std_space).then( + match: variable_name, + tag_as: "entity.name.function.call.constructor", + ).then(std_space).lookAheadFor(/\{/) + ) + grammar[:simple_constructor_call] = Pattern.new( + constructor_call_base.lookAheadFor( + std_space.lookAheadFor(variable_name.lookAheadFor(std_space.lookAheadFor(/(?:\{|\()/))) + ) + ) + grammar[:simple_array_assignment] = Pattern.new( + Pattern.new( + tag_as: "variable.other.assignment", + match: variable_name, + ).then( + match: /\[/, + tag_as: "punctuation.definition.begin.bracket.square.array.type", + ).then( + match: / */, + ).then( + match: /\]/, + tag_as: "punctuation.definition.end.bracket.square.array.type", + ).then(std_space).then( + assignment_operators + ) + ) + # grammar[:unknown_variable] = Pattern.new( + # Pattern.new( + # tag_as: "variable.other.unknown.$match", + # match: variable_name, + # ) + # ) normal_type_pattern = maybe(declaration_storage_specifiers.then(std_space)).then(qualified_type.maybe(ref_deref[])) # normal variable assignment grammar[:variable_assignment] = Pattern.new( diff --git a/package.json b/package.json index bcbf849e..f9317666 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.23.1", + "version": "1.25.0", "icon": "icon.png", "scripts": {}, "keywords": [ From 1092e46e8c61aec89cc3fef10052ce9340ec0c52 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Thu, 11 Jul 2024 13:45:23 -0500 Subject: [PATCH 58/65] tag unknown identifiers --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 14 + autogenerated/cpp_scopes.txt | 1 + language_examples/#005.spec.yaml | 4 +- language_examples/#006.spec.yaml | 4 +- language_examples/#020.spec.yaml | 64 +- language_examples/#022.spec.yaml | 25 +- language_examples/#025.spec.yaml | 30 +- language_examples/#027.spec.yaml | 4 +- language_examples/#030.spec.yaml | 4 + language_examples/#032.spec.yaml | 4 +- language_examples/#033.spec.yaml | 6 + language_examples/#034.spec.yaml | 10 +- language_examples/#035.spec.yaml | 2 + language_examples/#036.spec.yaml | 4 +- language_examples/#043.spec.yaml | 2 + language_examples/#050.spec.yaml | 2 + language_examples/#051.spec.yaml | 4 +- language_examples/#059.spec.yaml | 14 +- language_examples/#060.spec.yaml | 34 +- language_examples/#062.spec.yaml | 4 +- language_examples/#064.spec.yaml | 80 +- language_examples/#071.spec.yaml | 44 +- language_examples/#087.spec.yaml | 8 +- language_examples/#088.spec.yaml | 7 +- language_examples/#099.spec.yaml | 4 +- language_examples/#123.spec.yaml | 8 +- language_examples/#128.spec.yaml | 10 +- language_examples/#129.spec.yaml | 16 +- language_examples/#133.spec.yaml | 4 +- language_examples/#134.spec.yaml | 16 +- language_examples/#136.spec.yaml | 2 + language_examples/#141.spec.yaml | 24 +- language_examples/#186.spec.yaml | 14 +- language_examples/#188.spec.yaml | 2 + language_examples/#198.spec.yaml | 7 +- language_examples/#204.spec.yaml | 12 +- language_examples/#218.spec.yaml | 140 +- language_examples/#224.spec.yaml | 12 +- language_examples/#235.spec.yaml | 4 +- language_examples/#238.spec.yaml | 2 + language_examples/#247.spec.yaml | 2 + language_examples/#256.spec.yaml | 48 +- language_examples/#261.spec.yaml | 4 + language_examples/#264.spec.yaml | 62 +- language_examples/#287.spec.yaml | 12 +- language_examples/#307.spec.yaml | 6 +- language_examples/#324.spec.yaml | 16 +- language_examples/#350.spec.yaml | 50 +- language_examples/#370.spec.yaml | 8 +- language_examples/#372.spec.yaml | 1 + language_examples/#386.spec.yaml | 23 +- language_examples/#395.spec.yaml | 4 + language_examples/#396.spec.yaml | 30 +- language_examples/#410.spec.yaml | 47 +- language_examples/#412.spec.yaml | 10 +- language_examples/#414.spec.yaml | 31 +- language_examples/#426.spec.yaml | 6 +- language_examples/#433.spec.yaml | 4 + language_examples/#442.spec.yaml | 139 +- language_examples/#443.spec.yaml | 32 +- language_examples/#460.spec.yaml | 7 +- language_examples/#501.spec.yaml | 18 +- language_examples/#590.spec.yaml | 14 +- language_examples/#604.spec.yaml | 4 +- language_examples/#610.spec.yaml | 28 +- language_examples/#617.spec.yaml | 8 +- language_examples/#621.spec.yaml | 16 +- language_examples/#636.spec.yaml | 22 +- language_examples/#641.spec.yaml | 16 +- language_examples/#647.spec.yaml | 10 +- language_examples/#651.spec.yaml | 8 +- language_examples/#654.spec.yaml | 18 +- language_examples/#656.spec.yaml | 14 +- language_examples/#vs-76430.spec.yaml | 22 +- language_examples/638.spec.yaml | 8 +- language_examples/constructor_call.spec.yaml | 362 +- language_examples/feature_assembly.spec.yaml | 4 + .../feature_basic_string_sso.spec.yaml | 1006 +++- language_examples/feature_consteval.spec.yaml | 16 +- language_examples/feature_constinit.spec.yaml | 8 +- language_examples/feature_doxygen.spec.yaml | 12 +- .../feature_parameters.spec.yaml | 44 +- .../feature_preprocessor.spec.yaml | 22 +- .../feature_tagged_strings.spec.yaml | 12 +- .../feature_thread_local.spec.yaml | 4 +- .../feature_trailing_return_types.spec.yaml | 326 +- language_examples/macro_issue.spec.yaml | 205 +- language_examples/misc_000.spec.yaml | 324 +- language_examples/misc_001.spec.yaml | 43 +- language_examples/misc_005.spec.yaml | 5085 ++++++++++++---- language_examples/misc_006.spec.yaml | 324 +- language_examples/misc_asteria.spec.yaml | 2047 +++++-- language_examples/misc_test.spec.yaml | 30 +- ...operator_overload_implicit_const.spec.yaml | 69 +- language_examples/pr_161.spec.yaml | 36 +- language_examples/pr_431.spec.yaml | 4 +- language_examples/pr_435.spec.yaml | 14 +- language_examples/ranged_for.spec.yaml | 5148 +++++++++++++---- language_examples/raw_strings.spec.yaml | 12 +- language_examples/test.spec.yaml | 32 +- language_examples/theme_demo.spec.yaml | 10 +- language_examples/theme_demo1.spec.yaml | 24 +- language_examples/theme_demo2.spec.yaml | 38 +- main/main.rb | 14 +- package.json | 2 +- 106 files changed, 13365 insertions(+), 3314 deletions(-) diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 06ec37a8..ee6c7e87 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"source.cpp#simple_array_assignment"},{"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>)","name":"keyword.operator.bitwise.shift.cpp"},{"match":"(?:!=|<=|>=|==|<|>)","name":"keyword.operator.comparison.cpp"},{"match":"(?:&&|!|\\|\\|)","name":"keyword.operator.logical.cpp"},{"match":"(?:&|\\||\\^|~)","name":"keyword.operator.bitwise.cpp"},{"match":"(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"(?:%|\\*|\\/|-|\\+)","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>)","name":"keyword.operator.bitwise.shift.cpp"},{"match":"(?:!=|<=|>=|==|<|>)","name":"keyword.operator.comparison.cpp"},{"match":"(?:&&|!|\\|\\|)","name":"keyword.operator.logical.cpp"},{"match":"(?:&|\\||\\^|~)","name":"keyword.operator.bitwise.cpp"},{"match":"(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"(?:%|\\*|\\/|-|\\+)","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?>' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/#034.spec.yaml b/language_examples/#034.spec.yaml index 1de5bc61..7eb97320 100644 --- a/language_examples/#034.spec.yaml +++ b/language_examples/#034.spec.yaml @@ -42,6 +42,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: addr + scopes: + - variable.other.unknown.addr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -50,11 +52,15 @@ - source: < scopes: - keyword.operator.comparison -- source: ' UPGRADE_BASE_ADDR ' +- source: UPGRADE_BASE_ADDR + scopes: + - variable.other.unknown.UPGRADE_BASE_ADDR - source: + scopes: - keyword.operator.arithmetic -- source: ' UPGRADE_SPACE_SIZE' +- source: UPGRADE_SPACE_SIZE + scopes: + - variable.other.unknown.UPGRADE_SPACE_SIZE - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#035.spec.yaml b/language_examples/#035.spec.yaml index 10b18130..c972e03f 100644 --- a/language_examples/#035.spec.yaml +++ b/language_examples/#035.spec.yaml @@ -74,6 +74,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.other.unknown.vector - source: < scopesBegin: - meta.template.call diff --git a/language_examples/#036.spec.yaml b/language_examples/#036.spec.yaml index 24d92257..2084089c 100644 --- a/language_examples/#036.spec.yaml +++ b/language_examples/#036.spec.yaml @@ -1,4 +1,6 @@ -- source: 'vector ' +- source: vector + scopes: + - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison diff --git a/language_examples/#043.spec.yaml b/language_examples/#043.spec.yaml index 6c42bfe4..91c7a192 100644 --- a/language_examples/#043.spec.yaml +++ b/language_examples/#043.spec.yaml @@ -42,6 +42,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: is_signed_v + scopes: + - variable.other.unknown.is_signed_v - source: < scopes: - keyword.operator.comparison diff --git a/language_examples/#050.spec.yaml b/language_examples/#050.spec.yaml index f47429d1..eed0c267 100644 --- a/language_examples/#050.spec.yaml +++ b/language_examples/#050.spec.yaml @@ -34,6 +34,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: test + scopes: + - variable.other.unknown.test - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch diff --git a/language_examples/#051.spec.yaml b/language_examples/#051.spec.yaml index ba952ab8..b97b4a82 100644 --- a/language_examples/#051.spec.yaml +++ b/language_examples/#051.spec.yaml @@ -61,7 +61,9 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype -- source: ' B ' +- source: B + scopes: + - variable.other.unknown.B - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#059.spec.yaml b/language_examples/#059.spec.yaml index 53fd3ef0..a171a8c1 100644 --- a/language_examples/#059.spec.yaml +++ b/language_examples/#059.spec.yaml @@ -74,17 +74,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: loop + scopes: + - variable.other.unknown.loop - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' m_postMessageWakeup' +- source: m_postMessageWakeup + scopes: + - variable.other.unknown.m_postMessageWakeup - source: '=' scopes: - keyword.operator.assignment -- source: ' postWakeup' +- source: postWakeup + scopes: + - variable.other.unknown.postWakeup - source: ; scopes: - punctuation.terminator.statement @@ -125,7 +131,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' pipe ' +- source: pipe + scopes: + - variable.other.unknown.pipe - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#060.spec.yaml b/language_examples/#060.spec.yaml index 7daa1f13..a9c92dc2 100644 --- a/language_examples/#060.spec.yaml +++ b/language_examples/#060.spec.yaml @@ -21,9 +21,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: 'stream ' +- source: stream scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -46,7 +48,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -80,7 +84,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -114,7 +120,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -148,7 +156,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -182,7 +192,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -216,7 +228,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -250,7 +264,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'val ' +- source: val + scopes: + - variable.other.unknown.val - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -285,6 +301,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: val + scopes: + - variable.other.unknown.val - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#062.spec.yaml b/language_examples/#062.spec.yaml index 3d900b58..496870eb 100644 --- a/language_examples/#062.spec.yaml +++ b/language_examples/#062.spec.yaml @@ -1,7 +1,9 @@ - source: typedef scopes: - keyword.other.typedef -- source: ' foo' +- source: foo + scopes: + - variable.other.unknown.foo - source: int scopes: - storage.type.primitive diff --git a/language_examples/#064.spec.yaml b/language_examples/#064.spec.yaml index 5216e208..75456855 100644 --- a/language_examples/#064.spec.yaml +++ b/language_examples/#064.spec.yaml @@ -301,7 +301,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -343,7 +345,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -386,7 +390,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -429,7 +435,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -473,7 +481,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -521,7 +531,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -570,7 +582,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -623,7 +637,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' f' +- source: f + scopes: + - variable.other.unknown.f - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -652,7 +668,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.delete -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -660,7 +678,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.delete -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -675,7 +695,9 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -689,7 +711,9 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -704,6 +728,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -722,6 +748,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -747,6 +775,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -771,6 +801,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -790,10 +822,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -812,10 +848,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -841,10 +881,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -869,10 +913,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#071.spec.yaml b/language_examples/#071.spec.yaml index f4814792..9e16cdc2 100644 --- a/language_examples/#071.spec.yaml +++ b/language_examples/#071.spec.yaml @@ -219,7 +219,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -227,11 +229,18 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ; scopes: - punctuation.terminator.statement -- source: usertype user_value +- source: usertype + scopes: + - variable.other.unknown.usertype +- source: user_value + scopes: + - variable.other.unknown.user_value - source: ; scopes: - punctuation.terminator.statement @@ -274,14 +283,20 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: templated + scopes: + - variable.other.unknown.templated - source: < scopes: - keyword.operator.comparison - source: type + scopes: + - variable.other.unknown.type - source: '>' scopes: - keyword.operator.comparison -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement @@ -324,7 +339,12 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: type value +- source: type + scopes: + - variable.other.unknown.type +- source: value + scopes: + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement @@ -388,7 +408,12 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' usertype user_value' +- source: usertype + scopes: + - variable.other.unknown.usertype +- source: user_value + scopes: + - variable.other.unknown.user_value - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -628,7 +653,12 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' usertype user_value' +- source: usertype + scopes: + - variable.other.unknown.usertype +- source: user_value + scopes: + - variable.other.unknown.user_value - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/#087.spec.yaml b/language_examples/#087.spec.yaml index b2c7c714..2e901b79 100644 --- a/language_examples/#087.spec.yaml +++ b/language_examples/#087.spec.yaml @@ -57,7 +57,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' common' +- source: common + scopes: + - variable.other.unknown.common - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -119,7 +121,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' common' +- source: common + scopes: + - variable.other.unknown.common - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/#088.spec.yaml b/language_examples/#088.spec.yaml index fdcbc823..d04fad8c 100644 --- a/language_examples/#088.spec.yaml +++ b/language_examples/#088.spec.yaml @@ -18,7 +18,12 @@ scopes: - meta.preprocessor.conditional - entity.name.function.preprocessor -- source: cbuffer testCB +- source: cbuffer + scopes: + - variable.other.unknown.cbuffer +- source: testCB + scopes: + - variable.other.unknown.testCB - source: '#' scopesBegin: - keyword.control.directive.else diff --git a/language_examples/#099.spec.yaml b/language_examples/#099.spec.yaml index 29851cca..a1586516 100644 --- a/language_examples/#099.spec.yaml +++ b/language_examples/#099.spec.yaml @@ -2,7 +2,9 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#123.spec.yaml b/language_examples/#123.spec.yaml index f202985e..78f861d6 100644 --- a/language_examples/#123.spec.yaml +++ b/language_examples/#123.spec.yaml @@ -2,7 +2,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -25,7 +27,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' b ' +- source: b + scopes: + - variable.other.unknown.b - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#128.spec.yaml b/language_examples/#128.spec.yaml index 64cb5d1d..f04670d0 100644 --- a/language_examples/#128.spec.yaml +++ b/language_examples/#128.spec.yaml @@ -22,7 +22,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\tentries " +- source: entries + scopes: + - variable.other.unknown.entries - source: '=' scopes: - keyword.operator.assignment @@ -30,7 +32,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.new -- source: ' symbolTableEntry ' +- source: symbolTableEntry + scopes: + - variable.other.unknown.symbolTableEntry - source: '*' scopes: - keyword.operator.arithmetic @@ -40,6 +44,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: entriesCount + scopes: + - variable.other.unknown.entriesCount - source: ']' scopes: - punctuation.definition.end.bracket.square diff --git a/language_examples/#129.spec.yaml b/language_examples/#129.spec.yaml index ffbcc609..559183f7 100644 --- a/language_examples/#129.spec.yaml +++ b/language_examples/#129.spec.yaml @@ -27,7 +27,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.new -- source: ' Foo' +- source: Foo + scopes: + - variable.other.unknown.Foo - source: ; scopes: - punctuation.terminator.statement @@ -41,6 +43,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: Foo + scopes: + - variable.other.unknown.Foo - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -59,12 +63,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: fooptr + scopes: + - variable.other.unknown.fooptr - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' Foo' +- source: Foo + scopes: + - variable.other.unknown.Foo - source: ; scopes: - punctuation.terminator.statement @@ -78,6 +86,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: fooptr + scopes: + - variable.other.unknown.fooptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -85,6 +95,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: Foo + scopes: + - variable.other.unknown.Foo - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#133.spec.yaml b/language_examples/#133.spec.yaml index 12d267d1..effed1bc 100644 --- a/language_examples/#133.spec.yaml +++ b/language_examples/#133.spec.yaml @@ -9,7 +9,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' size' +- source: size + scopes: + - variable.other.unknown.size - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#134.spec.yaml b/language_examples/#134.spec.yaml index 9b0a637c..662bf584 100644 --- a/language_examples/#134.spec.yaml +++ b/language_examples/#134.spec.yaml @@ -220,7 +220,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -260,7 +262,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -317,7 +321,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -377,7 +383,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters - meta.parameter diff --git a/language_examples/#136.spec.yaml b/language_examples/#136.spec.yaml index 1874175b..f4442373 100644 --- a/language_examples/#136.spec.yaml +++ b/language_examples/#136.spec.yaml @@ -33,6 +33,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: name + scopes: + - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member diff --git a/language_examples/#141.spec.yaml b/language_examples/#141.spec.yaml index 46734529..e6d25e68 100644 --- a/language_examples/#141.spec.yaml +++ b/language_examples/#141.spec.yaml @@ -30,7 +30,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -57,10 +59,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -75,6 +81,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -85,7 +93,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -96,10 +106,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -114,6 +128,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#186.spec.yaml b/language_examples/#186.spec.yaml index da066dc1..b9f0deb7 100644 --- a/language_examples/#186.spec.yaml +++ b/language_examples/#186.spec.yaml @@ -6,10 +6,14 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: vector + scopes: + - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison - source: pair + scopes: + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -30,7 +34,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: 'g ' +- source: g + scopes: + - variable.other.unknown.g - source: '=' scopes: - keyword.operator.assignment @@ -46,10 +52,14 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: vector + scopes: + - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison - source: pair + scopes: + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -73,6 +83,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square diff --git a/language_examples/#188.spec.yaml b/language_examples/#188.spec.yaml index 32f020e3..e26edc99 100644 --- a/language_examples/#188.spec.yaml +++ b/language_examples/#188.spec.yaml @@ -85,6 +85,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: tgt_fps + scopes: + - variable.other.unknown.tgt_fps - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#198.spec.yaml b/language_examples/#198.spec.yaml index bc9ceac4..52ad6239 100644 --- a/language_examples/#198.spec.yaml +++ b/language_examples/#198.spec.yaml @@ -26,7 +26,12 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'string s ' +- source: string + scopes: + - variable.other.unknown.string +- source: s + scopes: + - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#204.spec.yaml b/language_examples/#204.spec.yaml index 1cf79f71..81b85f49 100644 --- a/language_examples/#204.spec.yaml +++ b/language_examples/#204.spec.yaml @@ -71,15 +71,21 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ; scopes: - punctuation.terminator.statement -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment -- source: ' b ' +- source: b + scopes: + - variable.other.unknown.b - source: '*' scopes: - keyword.operator.arithmetic diff --git a/language_examples/#218.spec.yaml b/language_examples/#218.spec.yaml index 3d9e0e9f..0564d987 100644 --- a/language_examples/#218.spec.yaml +++ b/language_examples/#218.spec.yaml @@ -131,38 +131,56 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -185,6 +203,8 @@ scopes: - keyword.operator.bitwise - source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -212,7 +232,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a scopesEnd: - meta.parens.control.for - source: ) @@ -282,11 +304,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'a ' +- source: a + scopes: + - variable.other.unknown.a - source: '&&' scopes: - keyword.operator.logical -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -309,6 +335,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -325,7 +353,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ':' scopes: - punctuation.separator.colon.case @@ -375,7 +405,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ':' scopes: - punctuation.separator.colon.case @@ -425,7 +457,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ':' scopes: - punctuation.separator.colon.case @@ -475,7 +509,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ':' scopes: - punctuation.separator.colon.case @@ -538,38 +574,56 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -747,6 +801,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -766,6 +822,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -779,22 +837,32 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -817,6 +885,8 @@ scopes: - keyword.operator.bitwise - source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -844,7 +914,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a scopesEnd: - meta.parens.control.for - source: ) @@ -881,15 +953,21 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/#224.spec.yaml b/language_examples/#224.spec.yaml index dbc4e23a..37f24289 100644 --- a/language_examples/#224.spec.yaml +++ b/language_examples/#224.spec.yaml @@ -65,7 +65,9 @@ - punctuation.separator.colon.range-based scopesEnd: - meta.binding -- source: ' c' +- source: c + scopes: + - variable.other.unknown.c scopesEnd: - meta.parens.control.for - source: ) @@ -86,6 +88,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: bug + scopes: + - variable.other.unknown.bug - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -139,7 +143,9 @@ - punctuation.separator.colon.range-based scopesEnd: - meta.binding -- source: ' c' +- source: c + scopes: + - variable.other.unknown.c scopesEnd: - meta.parens.control.for - source: ) @@ -160,6 +166,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: bug + scopes: + - variable.other.unknown.bug - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member diff --git a/language_examples/#235.spec.yaml b/language_examples/#235.spec.yaml index a3474ab8..bd6014ed 100644 --- a/language_examples/#235.spec.yaml +++ b/language_examples/#235.spec.yaml @@ -10,7 +10,9 @@ - source: a scopes: - entity.name.function.preprocessor -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: \ scopes: - constant.character.escape.line-continuation diff --git a/language_examples/#238.spec.yaml b/language_examples/#238.spec.yaml index 07d0a3d6..38a3e497 100644 --- a/language_examples/#238.spec.yaml +++ b/language_examples/#238.spec.yaml @@ -63,6 +63,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expr + scopes: + - variable.other.unknown.expr - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#247.spec.yaml b/language_examples/#247.spec.yaml index 2a5f7bad..55625698 100644 --- a/language_examples/#247.spec.yaml +++ b/language_examples/#247.spec.yaml @@ -52,6 +52,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.static_assert - source: bar + scopes: + - variable.other.unknown.bar - source: ',' scopesBegin: - meta.static_assert.message diff --git a/language_examples/#256.spec.yaml b/language_examples/#256.spec.yaml index e29cf162..8870af69 100644 --- a/language_examples/#256.spec.yaml +++ b/language_examples/#256.spec.yaml @@ -145,9 +145,12 @@ scopes: - >- punctuation.section.arguments.begin.bracket.round.function.call.initializer -- source: '{._s ' +- source: '{.' scopesBegin: - meta.parameter.initialization +- source: _s + scopes: + - variable.other.unknown._s - source: '=' scopes: - keyword.operator.assignment @@ -155,11 +158,16 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' _SSO_Cap}}' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap +- source: '}}' - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -197,7 +205,9 @@ - source: < scopes: - punctuation.section.angle-brackets.begin.template.definition -- source: "\t class " +- source: class + scopes: + - variable.other.unknown.class - source: '=' scopes: - keyword.operator.assignment @@ -341,7 +351,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -375,6 +387,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -395,7 +409,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment @@ -405,15 +421,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: < scopes: - keyword.operator.comparison -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ++ scopes: - keyword.operator.increment @@ -451,6 +473,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -459,7 +483,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -493,6 +519,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square diff --git a/language_examples/#261.spec.yaml b/language_examples/#261.spec.yaml index 9cf8fab9..f7ae9af8 100644 --- a/language_examples/#261.spec.yaml +++ b/language_examples/#261.spec.yaml @@ -72,6 +72,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: A + scopes: + - variable.other.unknown.A - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -132,6 +134,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: A + scopes: + - variable.other.unknown.A - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/#264.spec.yaml b/language_examples/#264.spec.yaml index 82384563..97f33181 100644 --- a/language_examples/#264.spec.yaml +++ b/language_examples/#264.spec.yaml @@ -48,7 +48,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' N' +- source: 'N' + scopes: + - variable.other.unknown.N - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -69,7 +71,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -79,11 +83,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: <= scopes: - keyword.operator.comparison -- source: ' N' +- source: 'N' + scopes: + - variable.other.unknown.N - source: ; scopes: - punctuation.terminator.statement @@ -91,6 +99,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -163,10 +173,14 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: '==' scopes: - keyword.operator.comparison - source: 'N' + scopes: + - variable.other.unknown.N - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -193,7 +207,9 @@ - source: '[' scopes: - punctuation.definition.begin.bracket.square -- source: 'N ' +- source: 'N' + scopes: + - variable.other.unknown.N - source: + scopes: - keyword.operator.arithmetic @@ -222,7 +238,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -232,11 +250,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: <= scopes: - keyword.operator.comparison -- source: ' N' +- source: 'N' + scopes: + - variable.other.unknown.N - source: ; scopes: - punctuation.terminator.statement @@ -244,6 +266,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -260,6 +284,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -268,7 +294,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ; scopes: - punctuation.terminator.statement @@ -285,7 +313,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'perm ' +- source: perm + scopes: + - variable.other.unknown.perm - source: + scopes: - keyword.operator.arithmetic @@ -295,7 +325,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' perm ' +- source: perm + scopes: + - variable.other.unknown.perm - source: + scopes: - keyword.operator.arithmetic @@ -305,11 +337,15 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' N' +- source: 'N' + scopes: + - variable.other.unknown.N - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' gen' +- source: gen + scopes: + - variable.other.unknown.gen - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/#287.spec.yaml b/language_examples/#287.spec.yaml index 477668f1..93d072a1 100644 --- a/language_examples/#287.spec.yaml +++ b/language_examples/#287.spec.yaml @@ -1,4 +1,6 @@ -- source: 'a ' +- source: a + scopes: + - variable.other.unknown.a - source: '*' scopesBegin: - keyword.operator.arithmetic @@ -11,7 +13,9 @@ - source: '*' scopesEnd: - keyword.operator.arithmetic -- source: 'a ' +- source: a + scopes: + - variable.other.unknown.a - source: '&&' scopesBegin: - keyword.operator.logical @@ -39,7 +43,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' string ' +- source: string + scopes: + - variable.other.unknown.string - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#307.spec.yaml b/language_examples/#307.spec.yaml index 9b90ceb7..5c0c038b 100644 --- a/language_examples/#307.spec.yaml +++ b/language_examples/#307.spec.yaml @@ -96,6 +96,7 @@ - source: argOne scopes: - meta.parameter.initialization + - variable.other.unknown.argOne - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -112,6 +113,7 @@ - source: argOther scopes: - meta.parameter.initialization + - variable.other.unknown.argOther - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -139,7 +141,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' m_other' +- source: m_other + scopes: + - variable.other.unknown.m_other - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#324.spec.yaml b/language_examples/#324.spec.yaml index 643fcaf7..47f19f6d 100644 --- a/language_examples/#324.spec.yaml +++ b/language_examples/#324.spec.yaml @@ -70,6 +70,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: edited + scopes: + - variable.other.unknown.edited - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -92,6 +94,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: ampersand + scopes: + - variable.other.unknown.ampersand - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -112,6 +116,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: string + scopes: + - variable.other.unknown.string - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -170,11 +176,15 @@ - source: \ scopes: - constant.character.escape.line-continuation -- source: "\t\t\t\tampersand " +- source: ampersand + scopes: + - variable.other.unknown.ampersand - source: '=' scopes: - keyword.operator.assignment -- source: ' TRUE' +- source: 'TRUE' + scopes: + - variable.other.unknown.TRUE - source: ; scopes: - punctuation.terminator.statement @@ -188,6 +198,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: string + scopes: + - variable.other.unknown.string - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/#350.spec.yaml b/language_examples/#350.spec.yaml index a36d1df2..9c8d38d2 100644 --- a/language_examples/#350.spec.yaml +++ b/language_examples/#350.spec.yaml @@ -51,6 +51,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: x + scopes: + - variable.other.unknown.x - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -113,6 +115,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: x + scopes: + - variable.other.unknown.x - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -248,7 +252,18 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: clang diagnostic ignored w +- source: clang + scopes: + - variable.other.unknown.clang +- source: diagnostic + scopes: + - variable.other.unknown.diagnostic +- source: ignored + scopes: + - variable.other.unknown.ignored +- source: w + scopes: + - variable.other.unknown.w - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -448,7 +463,9 @@ - source: elif scopesEnd: - keyword.control.directive.elif -- source: ' DOCTEST_GCC' +- source: DOCTEST_GCC + scopes: + - variable.other.unknown.DOCTEST_GCC - source: '#' scopesBegin: - meta.preprocessor.macro @@ -691,7 +708,18 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: GCC diagnostic ignored w +- source: GCC + scopes: + - variable.other.unknown.GCC +- source: diagnostic + scopes: + - variable.other.unknown.diagnostic +- source: ignored + scopes: + - variable.other.unknown.ignored +- source: w + scopes: + - variable.other.unknown.w - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -934,7 +962,9 @@ - source: elif scopesEnd: - keyword.control.directive.elif -- source: ' DOCTEST_MSVC' +- source: DOCTEST_MSVC + scopes: + - variable.other.unknown.DOCTEST_MSVC - source: '#' scopesBegin: - meta.preprocessor.macro @@ -992,6 +1022,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: push + scopes: + - variable.other.unknown.push - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -1063,7 +1095,13 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'disable : w' +- source: disable + scopes: + - variable.other.unknown.disable +- source: ' : ' +- source: w + scopes: + - variable.other.unknown.w - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -1126,6 +1164,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: pop + scopes: + - variable.other.unknown.pop - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/#370.spec.yaml b/language_examples/#370.spec.yaml index 8dcedffe..93646ca7 100644 --- a/language_examples/#370.spec.yaml +++ b/language_examples/#370.spec.yaml @@ -135,14 +135,20 @@ scopesEnd: - comment.line.double-slash - source: B + scopes: + - variable.other.unknown.B - source: < scopes: - keyword.operator.comparison - source: A + scopes: + - variable.other.unknown.A - source: '>' scopes: - keyword.operator.comparison -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#372.spec.yaml b/language_examples/#372.spec.yaml index 0b6441a6..bbe753b8 100644 --- a/language_examples/#372.spec.yaml +++ b/language_examples/#372.spec.yaml @@ -62,6 +62,7 @@ - source: Args scopes: - meta.arguments.operator.sizeof.variadic + - variable.other.unknown.Args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic diff --git a/language_examples/#386.spec.yaml b/language_examples/#386.spec.yaml index 292fa193..0f1b1de7 100644 --- a/language_examples/#386.spec.yaml +++ b/language_examples/#386.spec.yaml @@ -113,6 +113,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -135,6 +137,7 @@ - source: s scopes: - meta.parameter.initialization + - variable.other.unknown.s - source: '}' scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -168,7 +171,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -178,11 +183,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ; scopes: - punctuation.terminator.statement @@ -190,6 +199,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -206,6 +217,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -266,7 +279,9 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' elem' +- source: elem + scopes: + - variable.other.unknown.elem - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#395.spec.yaml b/language_examples/#395.spec.yaml index 7f8d568d..f4b3e820 100644 --- a/language_examples/#395.spec.yaml +++ b/language_examples/#395.spec.yaml @@ -94,6 +94,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: f + scopes: + - variable.other.unknown.f - source: ; scopes: - punctuation.terminator.statement @@ -108,6 +110,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: g + scopes: + - variable.other.unknown.g - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#396.spec.yaml b/language_examples/#396.spec.yaml index 28809194..3df265c0 100644 --- a/language_examples/#396.spec.yaml +++ b/language_examples/#396.spec.yaml @@ -1,19 +1,27 @@ - source: module scopes: - keyword.other.module -- source: ' example' +- source: example + scopes: + - variable.other.unknown.example - source: ; scopes: - punctuation.terminator.statement -- source: 'import ' +- source: import + scopes: + - variable.other.unknown.import - source: < scopes: - keyword.operator.comparison - source: vector + scopes: + - variable.other.unknown.vector - source: '>' scopes: - keyword.operator.comparison -- source: 'import ' +- source: import + scopes: + - variable.other.unknown.import - source: some scopes: - variable.other.object.access @@ -66,7 +74,9 @@ - source: concept scopes: - keyword.other.concept -- source: ' convertible_to ' +- source: convertible_to + scopes: + - variable.other.unknown.convertible_to - source: '=' scopes: - keyword.operator.assignment @@ -78,14 +88,20 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: is_convertible_v + scopes: + - variable.other.unknown.is_convertible_v - source: < scopes: - keyword.operator.comparison - source: From + scopes: + - variable.other.unknown.From - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' To' +- source: To + scopes: + - variable.other.unknown.To - source: '>' scopes: - keyword.operator.comparison @@ -112,6 +128,8 @@ scopes: - keyword.operator.bitwise - source: f + scopes: + - variable.other.unknown.f - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -142,6 +160,8 @@ scopes: - keyword.operator.comparison - source: To + scopes: + - variable.other.unknown.To - source: '>' scopes: - keyword.operator.comparison diff --git a/language_examples/#410.spec.yaml b/language_examples/#410.spec.yaml index b67edb82..53e468b7 100644 --- a/language_examples/#410.spec.yaml +++ b/language_examples/#410.spec.yaml @@ -81,6 +81,7 @@ - source: size scopes: - meta.parameter.initialization + - variable.other.unknown.size - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -90,9 +91,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' container' +- source: container scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.other.unknown.container - source: '=' scopes: - keyword.operator.assignment @@ -109,6 +112,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: size + scopes: + - variable.other.unknown.size - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -155,7 +160,9 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' container' +- source: container + scopes: + - variable.other.unknown.container - source: ; scopes: - punctuation.terminator.statement @@ -225,7 +232,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' itr' +- source: itr + scopes: + - variable.other.unknown.itr - source: '=' scopes: - keyword.operator.assignment @@ -236,14 +245,20 @@ scopes: - punctuation.terminator.statement - source: itr + scopes: + - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: size + scopes: + - variable.other.unknown.size - source: ; scopes: - punctuation.terminator.statement @@ -251,6 +266,8 @@ scopes: - keyword.operator.increment - source: itr + scopes: + - variable.other.unknown.itr scopesEnd: - meta.parens.control.for - source: ) @@ -272,6 +289,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: itr + scopes: + - variable.other.unknown.itr - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -289,10 +308,14 @@ scopes: - punctuation.definition.begin.bracket.square - source: itr + scopes: + - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -381,7 +404,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' itr' +- source: itr + scopes: + - variable.other.unknown.itr - source: '=' scopes: - keyword.operator.assignment @@ -392,14 +417,20 @@ scopes: - punctuation.terminator.statement - source: itr + scopes: + - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: size + scopes: + - variable.other.unknown.size - source: ; scopes: - punctuation.terminator.statement @@ -407,6 +438,8 @@ scopes: - keyword.operator.increment - source: itr + scopes: + - variable.other.unknown.itr scopesEnd: - meta.parens.control.for - source: ) @@ -428,6 +461,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: itr + scopes: + - variable.other.unknown.itr - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -445,10 +480,14 @@ scopes: - punctuation.definition.begin.bracket.square - source: itr + scopes: + - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square diff --git a/language_examples/#412.spec.yaml b/language_examples/#412.spec.yaml index 44059502..20721995 100644 --- a/language_examples/#412.spec.yaml +++ b/language_examples/#412.spec.yaml @@ -27,7 +27,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: // scopesBegin: - comment.line.double-slash @@ -92,7 +94,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: // scopesBegin: - comment.line.double-slash @@ -107,6 +111,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ARRAY_SIZE + scopes: + - variable.other.unknown.ARRAY_SIZE - source: ']' scopes: - punctuation.definition.end.bracket.square diff --git a/language_examples/#414.spec.yaml b/language_examples/#414.spec.yaml index 19ed64c2..22945043 100644 --- a/language_examples/#414.spec.yaml +++ b/language_examples/#414.spec.yaml @@ -1,4 +1,9 @@ -- source: L_API ALenum +- source: L_API + scopes: + - variable.other.unknown.L_API +- source: ALenum + scopes: + - variable.other.unknown.ALenum - source: AL_APIENTRY scopes: - meta.qualified_type @@ -17,6 +22,8 @@ scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: START_API_FUNC + scopes: + - variable.other.unknown.START_API_FUNC - source: '{' scopesBegin: - meta.block @@ -64,6 +71,8 @@ scopes: - keyword.operator.logical - source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -88,6 +97,8 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: AL_INVALID_OPERATION + scopes: + - variable.other.unknown.AL_INVALID_OPERATION - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -123,7 +134,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' deferror' +- source: deferror + scopes: + - variable.other.unknown.deferror - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -139,6 +152,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: TrapALError + scopes: + - variable.other.unknown.TrapALError - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -210,6 +225,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: SIGTRAP + scopes: + - variable.other.unknown.SIGTRAP - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -220,6 +237,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: SIGTRAP + scopes: + - variable.other.unknown.SIGTRAP - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -242,7 +261,9 @@ - source: return scopes: - keyword.control.return -- source: ' deferror' +- source: deferror + scopes: + - variable.other.unknown.deferror - source: ; scopes: - punctuation.terminator.statement @@ -273,6 +294,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: AL_NO_ERROR + scopes: + - variable.other.unknown.AL_NO_ERROR - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -285,3 +308,5 @@ scopesEnd: - meta.block - source: END_API_FUNC + scopes: + - variable.other.unknown.END_API_FUNC diff --git a/language_examples/#426.spec.yaml b/language_examples/#426.spec.yaml index 84051bc2..a9d9a327 100644 --- a/language_examples/#426.spec.yaml +++ b/language_examples/#426.spec.yaml @@ -5,6 +5,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: msg3 + scopes: + - variable.other.unknown.msg3 - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -142,7 +144,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tmp_line2' +- source: tmp_line2 + scopes: + - variable.other.unknown.tmp_line2 - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/#433.spec.yaml b/language_examples/#433.spec.yaml index d60a9f69..895e06b5 100644 --- a/language_examples/#433.spec.yaml +++ b/language_examples/#433.spec.yaml @@ -241,6 +241,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.assembly.inner - source: curpal0 + scopes: + - variable.other.unknown.curpal0 - source: ) scopes: - punctuation.section.parens.end.bracket.round.assembly.inner @@ -267,6 +269,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.assembly.inner - source: curpal1 + scopes: + - variable.other.unknown.curpal1 - source: ) scopes: - punctuation.section.parens.end.bracket.round.assembly.inner diff --git a/language_examples/#442.spec.yaml b/language_examples/#442.spec.yaml index d5e7cd53..8a901d11 100644 --- a/language_examples/#442.spec.yaml +++ b/language_examples/#442.spec.yaml @@ -304,6 +304,8 @@ - source: REPROCXX_EXPORT scopesBegin: - meta.body.namespace + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: - storage.modifier.specifier.extern @@ -314,11 +316,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' kill' +- source: kill + scopes: + - variable.other.unknown.kill - source: ; scopes: - punctuation.terminator.statement - source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: - storage.modifier.specifier.extern @@ -329,7 +335,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' terminate' +- source: terminate + scopes: + - variable.other.unknown.terminate - source: ; scopes: - punctuation.terminator.statement @@ -416,35 +424,56 @@ scopesEnd: - meta.declaration.type.alias - source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: - storage.modifier.specifier.extern - source: const scopes: - storage.modifier.specifier.const -- source: ' milliseconds infinite' +- source: milliseconds + scopes: + - variable.other.unknown.milliseconds +- source: infinite + scopes: + - variable.other.unknown.infinite - source: ; scopes: - punctuation.terminator.statement - source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: - storage.modifier.specifier.extern - source: const scopes: - storage.modifier.specifier.const -- source: ' milliseconds deadline' +- source: milliseconds + scopes: + - variable.other.unknown.milliseconds +- source: deadline + scopes: + - variable.other.unknown.deadline - source: ; scopes: - punctuation.terminator.statement - source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: - storage.modifier.specifier.extern - source: const scopes: - storage.modifier.specifier.const -- source: ' milliseconds nonblocking' +- source: milliseconds + scopes: + - variable.other.unknown.milliseconds +- source: nonblocking + scopes: + - variable.other.unknown.nonblocking - source: ; scopes: - punctuation.terminator.statement @@ -750,9 +779,11 @@ - punctuation.section.block.end.bracket.curly.struct scopesEnd: - meta.body.struct -- source: 'redirect ' +- source: redirect scopesBegin: - meta.tail.struct + scopes: + - variable.other.unknown.redirect - source: '=' scopes: - keyword.operator.assignment @@ -1061,7 +1092,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' REPROCXX_EXPORT ' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: '~' scopes: - keyword.operator.bitwise @@ -1132,7 +1165,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: process scopesBegin: - meta.function.definition.special.operator-overload @@ -1196,7 +1231,9 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: std scopesBegin: - meta.qualified_type @@ -1220,22 +1257,30 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' arguments ' +- source: arguments + scopes: + - variable.other.unknown.arguments - source: '&' scopes: - keyword.operator.bitwise - source: arguments + scopes: + - variable.other.unknown.arguments - source: ',' scopes: - punctuation.separator.delimiter.comma - source: const scopes: - storage.modifier.specifier.const -- source: ' options ' +- source: options + scopes: + - variable.other.unknown.options - source: '&' scopes: - keyword.operator.bitwise -- source: 'options ' +- source: options + scopes: + - variable.other.unknown.options - source: '=' scopes: - keyword.operator.assignment @@ -1261,7 +1306,9 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: - entity.name.scope-resolution @@ -1270,6 +1317,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -1288,6 +1337,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - variable.other.unknown.error_code - source: '>' scopes: - keyword.operator.comparison @@ -1346,7 +1397,9 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: std scopesBegin: - meta.qualified_type @@ -1394,7 +1447,12 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: stream set +- source: stream + scopes: + - variable.other.unknown.stream +- source: set + scopes: + - variable.other.unknown.set - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1412,7 +1470,9 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: - entity.name.scope-resolution @@ -1421,6 +1481,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -1439,6 +1501,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - variable.other.unknown.error_code - source: '>' scopes: - keyword.operator.comparison @@ -1510,7 +1574,9 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: - entity.name.scope-resolution @@ -1519,6 +1585,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -1537,6 +1605,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - variable.other.unknown.error_code - source: '>' scopes: - keyword.operator.comparison @@ -1591,7 +1661,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: std scopesBegin: - meta.qualified_type @@ -1612,7 +1684,12 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: stream stream +- source: stream + scopesBegin: + - variable.other.unknown.stream +- source: stream + scopesEnd: + - variable.other.unknown.stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1633,7 +1710,9 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: - entity.name.scope-resolution @@ -1642,6 +1721,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -1660,6 +1741,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - variable.other.unknown.error_code - source: '>' scopes: - keyword.operator.comparison @@ -1697,7 +1780,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: std scopesBegin: - meta.qualified_type @@ -1727,7 +1812,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: std scopesBegin: - meta.qualified_type @@ -1768,7 +1855,9 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: ' REPROCXX_EXPORT' +- source: REPROCXX_EXPORT + scopes: + - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: - entity.name.scope-resolution @@ -1777,6 +1866,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: pair + scopes: + - variable.other.unknown.pair - source: < scopes: - keyword.operator.comparison @@ -1795,6 +1886,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_code + scopes: + - variable.other.unknown.error_code - source: '>' scopes: - keyword.operator.comparison diff --git a/language_examples/#443.spec.yaml b/language_examples/#443.spec.yaml index d5e55bf2..c1449e37 100644 --- a/language_examples/#443.spec.yaml +++ b/language_examples/#443.spec.yaml @@ -23,7 +23,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -31,7 +33,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ; scopes: - punctuation.terminator.statement @@ -39,7 +43,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' str ' +- source: str + scopes: + - variable.other.unknown.str - source: '=' scopes: - keyword.operator.assignment @@ -84,7 +90,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' c' +- source: c + scopes: + - variable.other.unknown.c - source: ; scopes: - punctuation.terminator.statement @@ -92,7 +100,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' d' +- source: d + scopes: + - variable.other.unknown.d - source: ; scopes: - punctuation.terminator.statement @@ -100,7 +110,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' ch ' +- source: ch + scopes: + - variable.other.unknown.ch - source: '=' scopes: - keyword.operator.assignment @@ -122,7 +134,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ; scopes: - punctuation.terminator.statement @@ -130,7 +144,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' f' +- source: f + scopes: + - variable.other.unknown.f - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#460.spec.yaml b/language_examples/#460.spec.yaml index e8425d23..d727fea7 100644 --- a/language_examples/#460.spec.yaml +++ b/language_examples/#460.spec.yaml @@ -277,4 +277,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: type dnode +- source: type + scopes: + - variable.other.unknown.type +- source: dnode + scopes: + - variable.other.unknown.dnode diff --git a/language_examples/#501.spec.yaml b/language_examples/#501.spec.yaml index 13b8e29d..b4abbf61 100644 --- a/language_examples/#501.spec.yaml +++ b/language_examples/#501.spec.yaml @@ -50,7 +50,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -74,6 +76,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.other.unknown.a - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -129,7 +133,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -153,6 +159,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -205,7 +213,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -229,6 +239,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: c + scopes: + - variable.other.unknown.c - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#590.spec.yaml b/language_examples/#590.spec.yaml index 97e5d46d..1314c05f 100644 --- a/language_examples/#590.spec.yaml +++ b/language_examples/#590.spec.yaml @@ -216,14 +216,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: DOCTEST_EMPTY + scopes: + - variable.other.unknown.DOCTEST_EMPTY - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' func' +- source: func + scopes: + - variable.other.unknown.func - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' decorators' +- source: decorators + scopes: + - variable.other.unknown.decorators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -242,7 +248,9 @@ - source: inline scopes: - storage.modifier.specifier.functional.pre-parameters.inline -- source: ' DOCTEST_NOINLINE' +- source: DOCTEST_NOINLINE + scopes: + - variable.other.unknown.DOCTEST_NOINLINE - source: void scopes: - storage.type.primitive diff --git a/language_examples/#604.spec.yaml b/language_examples/#604.spec.yaml index 64c2f51d..abe00999 100644 --- a/language_examples/#604.spec.yaml +++ b/language_examples/#604.spec.yaml @@ -2,7 +2,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' compare ' +- source: compare + scopes: + - variable.other.unknown.compare - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#610.spec.yaml b/language_examples/#610.spec.yaml index 439ec9f7..6b26fd14 100644 --- a/language_examples/#610.spec.yaml +++ b/language_examples/#610.spec.yaml @@ -103,7 +103,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' view ' +- source: view + scopes: + - variable.other.unknown.view - source: '=' scopes: - keyword.operator.assignment @@ -131,7 +133,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' owned ' +- source: owned + scopes: + - variable.other.unknown.owned - source: '=' scopes: - keyword.operator.assignment @@ -313,10 +317,14 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -344,7 +352,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' wide_string ' +- source: wide_string + scopes: + - variable.other.unknown.wide_string - source: '=' scopes: - keyword.operator.assignment @@ -376,7 +386,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' raw_wide_string ' +- source: raw_wide_string + scopes: + - variable.other.unknown.raw_wide_string - source: '=' scopes: - keyword.operator.assignment @@ -473,6 +485,8 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: c + scopes: + - variable.other.unknown.c - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -495,7 +509,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' character ' +- source: character + scopes: + - variable.other.unknown.character - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/#617.spec.yaml b/language_examples/#617.spec.yaml index 95ce2290..9eb5f256 100644 --- a/language_examples/#617.spec.yaml +++ b/language_examples/#617.spec.yaml @@ -34,7 +34,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' b ' +- source: b + scopes: + - variable.other.unknown.b - source: < scopes: - keyword.operator.comparison @@ -57,7 +59,9 @@ - punctuation.definition.comment.end scopesEnd: - comment.block -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#621.spec.yaml b/language_examples/#621.spec.yaml index 7fda02cb..99b9e28d 100644 --- a/language_examples/#621.spec.yaml +++ b/language_examples/#621.spec.yaml @@ -11,7 +11,13 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'string led_paths[] ' +- source: string + scopes: + - variable.other.unknown.string +- source: led_paths + scopes: + - variable.other.unknown.led_paths +- source: '[] ' - source: '{' scopesBegin: - meta.block @@ -23,6 +29,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: RED + scopes: + - variable.other.unknown.RED - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -60,6 +68,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: GREEN + scopes: + - variable.other.unknown.GREEN - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -97,6 +107,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: BLUE + scopes: + - variable.other.unknown.BLUE - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -134,6 +146,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: WHITE + scopes: + - variable.other.unknown.WHITE - source: ']' scopes: - punctuation.definition.end.bracket.square diff --git a/language_examples/#636.spec.yaml b/language_examples/#636.spec.yaml index 02b5864b..e8ddd8ff 100644 --- a/language_examples/#636.spec.yaml +++ b/language_examples/#636.spec.yaml @@ -230,7 +230,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' plate ' +- source: plate + scopes: + - variable.other.unknown.plate - source: + scopes: - keyword.operator.arithmetic @@ -278,7 +280,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' query' +- source: query + scopes: + - variable.other.unknown.query scopesEnd: - meta.parens.control.for - source: ) @@ -298,7 +302,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -350,7 +356,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -402,7 +410,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -441,6 +451,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#641.spec.yaml b/language_examples/#641.spec.yaml index 635f0fc0..54a3882a 100644 --- a/language_examples/#641.spec.yaml +++ b/language_examples/#641.spec.yaml @@ -94,7 +94,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -120,6 +122,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -131,7 +135,9 @@ - source: elifdef scopesEnd: - keyword.control.directive.elifdef -- source: ' __linux__' +- source: __linux__ + scopes: + - variable.other.unknown.__linux__ - source: std scopes: - entity.name.scope-resolution @@ -139,7 +145,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -165,6 +173,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#647.spec.yaml b/language_examples/#647.spec.yaml index b170d749..ee2a9888 100644 --- a/language_examples/#647.spec.yaml +++ b/language_examples/#647.spec.yaml @@ -56,11 +56,15 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' operator' +- source: operator + scopes: + - variable.other.unknown.operator - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -77,6 +81,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: cout + scopes: + - variable.other.unknown.cout - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/#651.spec.yaml b/language_examples/#651.spec.yaml index c93f9d23..82171994 100644 --- a/language_examples/#651.spec.yaml +++ b/language_examples/#651.spec.yaml @@ -110,7 +110,9 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' highlight3' +- source: highlight3 + scopes: + - variable.other.unknown.highlight3 - source: '{' scopesBegin: - meta.block @@ -139,7 +141,9 @@ - source: constexpr scopes: - storage.modifier.specifier.functional.pre-parameters.constexpr -- source: ' highlight4' +- source: highlight4 + scopes: + - variable.other.unknown.highlight4 - source: '{' scopesBegin: - meta.block diff --git a/language_examples/#654.spec.yaml b/language_examples/#654.spec.yaml index 3afa5c5e..2b5103ea 100644 --- a/language_examples/#654.spec.yaml +++ b/language_examples/#654.spec.yaml @@ -118,7 +118,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -128,7 +130,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison @@ -154,7 +158,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -179,6 +185,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -187,7 +195,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#656.spec.yaml b/language_examples/#656.spec.yaml index 85a46425..26c83773 100644 --- a/language_examples/#656.spec.yaml +++ b/language_examples/#656.spec.yaml @@ -66,7 +66,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'classname ' +- source: classname + scopes: + - variable.other.unknown.classname - source: '==' scopes: - keyword.operator.comparison @@ -93,7 +95,9 @@ - source: '&&' scopes: - keyword.operator.logical -- source: ' object ' +- source: object + scopes: + - variable.other.unknown.object - source: '&&' scopes: - keyword.operator.logical @@ -137,7 +141,9 @@ - source: < scopes: - keyword.operator.comparison -- source: 'QWidget ' +- source: QWidget + scopes: + - variable.other.unknown.QWidget - source: '*' scopes: - keyword.operator.arithmetic @@ -150,6 +156,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: object + scopes: + - variable.other.unknown.object - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/#vs-76430.spec.yaml b/language_examples/#vs-76430.spec.yaml index ec60cd0b..bf4351fb 100644 --- a/language_examples/#vs-76430.spec.yaml +++ b/language_examples/#vs-76430.spec.yaml @@ -36,7 +36,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -50,6 +52,7 @@ - source: T scopes: - meta.arguments.operator.typeid + - variable.other.unknown.T - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -81,7 +84,9 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' valueT ' +- source: valueT + scopes: + - variable.other.unknown.valueT - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -93,6 +98,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -172,7 +179,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -186,6 +195,7 @@ - source: T scopes: - meta.arguments.operator.typeid + - variable.other.unknown.T - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -217,7 +227,9 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' valueT ' +- source: valueT + scopes: + - variable.other.unknown.valueT - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -229,6 +241,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/638.spec.yaml b/language_examples/638.spec.yaml index 25ba9337..3700879f 100644 --- a/language_examples/638.spec.yaml +++ b/language_examples/638.spec.yaml @@ -56,9 +56,11 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.requires -- source: 'n ' +- source: 'n' scopesBegin: - meta.arguments.requires + scopes: + - variable.other.unknown.n - source: '==' scopes: - keyword.operator.comparison @@ -114,9 +116,11 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.requires -- source: 'n ' +- source: 'n' scopesBegin: - meta.arguments.requires + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison diff --git a/language_examples/constructor_call.spec.yaml b/language_examples/constructor_call.spec.yaml index 53ae4756..3ef62815 100644 --- a/language_examples/constructor_call.spec.yaml +++ b/language_examples/constructor_call.spec.yaml @@ -118,9 +118,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' A' +- source: A scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.A - source: ; scopes: - punctuation.terminator.statement @@ -195,6 +197,8 @@ scopes: - keyword.operator.logical - source: input_file1 + scopes: + - variable.other.unknown.input_file1 - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -205,7 +209,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -285,6 +291,8 @@ scopes: - keyword.operator.logical - source: input_file2 + scopes: + - variable.other.unknown.input_file2 - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -295,7 +303,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -354,11 +364,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' input_file1 ' +- source: input_file1 + scopes: + - variable.other.unknown.input_file1 - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' c1' +- source: c1 + scopes: + - variable.other.unknown.c1 - source: ; scopes: - punctuation.terminator.statement @@ -372,11 +386,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' input_file2 ' +- source: input_file2 + scopes: + - variable.other.unknown.input_file2 - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' c2' +- source: c2 + scopes: + - variable.other.unknown.c2 - source: ; scopes: - punctuation.terminator.statement @@ -400,11 +418,15 @@ - source: print collections scopesEnd: - comment.line.double-slash -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl ' +- source: endl + scopes: + - variable.other.unknown.endl - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -443,11 +465,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl ' +- source: endl + scopes: + - variable.other.unknown.endl - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -486,11 +512,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -511,21 +541,29 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c1 + scopes: + - variable.other.unknown.c1 - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' c2' +- source: c2 + scopes: + - variable.other.unknown.c2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl ' +- source: endl + scopes: + - variable.other.unknown.endl - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -546,19 +584,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' c3 ' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -594,11 +640,15 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -636,17 +686,23 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: small + scopes: + - variable.other.unknown.small - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -684,17 +740,23 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: medium + scopes: + - variable.other.unknown.medium - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -732,17 +794,23 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: large + scopes: + - variable.other.unknown.large - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -780,13 +848,17 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: red + scopes: + - variable.other.unknown.red - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -808,6 +880,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: green + scopes: + - variable.other.unknown.green - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -819,6 +893,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: small + scopes: + - variable.other.unknown.small - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -846,6 +922,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: sb + scopes: + - variable.other.unknown.sb - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -854,7 +932,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -878,7 +958,9 @@ - source: else scopes: - keyword.control.else -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -899,7 +981,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -944,6 +1028,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: sb + scopes: + - variable.other.unknown.sb - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -965,13 +1051,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: sb + scopes: + - variable.other.unknown.sb - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1007,7 +1097,9 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -1032,6 +1124,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: sb + scopes: + - variable.other.unknown.sb - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -1040,7 +1134,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1064,7 +1160,9 @@ - source: else scopes: - keyword.control.else -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1085,7 +1183,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1119,6 +1219,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: sb + scopes: + - variable.other.unknown.sb - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -1146,6 +1248,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: sb + scopes: + - variable.other.unknown.sb - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -1154,7 +1258,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1178,7 +1284,9 @@ - source: else scopes: - keyword.control.else -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1210,6 +1318,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c3 + scopes: + - variable.other.unknown.c3 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1231,6 +1341,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c3 + scopes: + - variable.other.unknown.c3 - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -1242,17 +1354,23 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: bubble_sort + scopes: + - variable.other.unknown.bubble_sort - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl ' +- source: endl + scopes: + - variable.other.unknown.endl - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1273,19 +1391,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' c3' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: ; scopes: - punctuation.terminator.statement -- source: ' c3 ' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: '=' scopes: - keyword.operator.assignment -- source: ' c4' +- source: c4 + scopes: + - variable.other.unknown.c4 - source: ; scopes: - punctuation.terminator.statement @@ -1296,6 +1422,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c3 + scopes: + - variable.other.unknown.c3 - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -1307,17 +1435,23 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: quick_sort + scopes: + - variable.other.unknown.quick_sort - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl ' +- source: endl + scopes: + - variable.other.unknown.endl - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1338,23 +1472,33 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' c3 ' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement -- source: ' c3 ' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: '=' scopes: - keyword.operator.assignment -- source: ' c4' +- source: c4 + scopes: + - variable.other.unknown.c4 - source: ; scopes: - punctuation.terminator.statement @@ -1365,6 +1509,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c3 + scopes: + - variable.other.unknown.c3 - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -1376,17 +1522,23 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: merge_sort + scopes: + - variable.other.unknown.merge_sort - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl ' +- source: endl + scopes: + - variable.other.unknown.endl - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1407,19 +1559,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' c3 ' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1486,7 +1646,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1507,11 +1669,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl ' +- source: endl + scopes: + - variable.other.unknown.endl - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1532,19 +1698,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' c3 ' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1565,19 +1739,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' c3 ' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: '=' scopes: - keyword.operator.assignment -- source: ' c1' +- source: c1 + scopes: + - variable.other.unknown.c1 - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl ' +- source: endl + scopes: + - variable.other.unknown.endl - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1598,19 +1780,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' c3 ' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1638,21 +1828,29 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c2 + scopes: + - variable.other.unknown.c2 - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' c3' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl ' +- source: endl + scopes: + - variable.other.unknown.endl - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -1673,15 +1871,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' c3 ' +- source: c3 + scopes: + - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' endl' +- source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_assembly.spec.yaml b/language_examples/feature_assembly.spec.yaml index 46efa924..1e562a5a 100644 --- a/language_examples/feature_assembly.spec.yaml +++ b/language_examples/feature_assembly.spec.yaml @@ -137,6 +137,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.assembly.inner - source: 'n' + scopes: + - variable.other.unknown.n - source: ) scopes: - punctuation.section.parens.end.bracket.round.assembly.inner @@ -160,6 +162,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.assembly.inner - source: 'n' + scopes: + - variable.other.unknown.n - source: ) scopes: - punctuation.section.parens.end.bracket.round.assembly.inner diff --git a/language_examples/feature_basic_string_sso.spec.yaml b/language_examples/feature_basic_string_sso.spec.yaml index 9683c289..d572f4e1 100644 --- a/language_examples/feature_basic_string_sso.spec.yaml +++ b/language_examples/feature_basic_string_sso.spec.yaml @@ -287,7 +287,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' SSO_size ' +- source: SSO_size + scopes: + - variable.other.unknown.SSO_size - source: '=' scopes: - keyword.operator.assignment @@ -375,6 +377,7 @@ - source: __long_layout scopes: - meta.arguments.operator.sizeof + - variable.other.unknown.__long_layout - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -391,6 +394,7 @@ - source: CharT scopes: - meta.arguments.operator.sizeof + - variable.other.unknown.CharT - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -924,7 +928,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' npos ' +- source: npos + scopes: + - variable.other.unknown.npos - source: '=' scopes: - keyword.operator.assignment @@ -959,10 +965,14 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: is_same_v + scopes: + - variable.other.unknown.is_same_v - source: < scopes: - keyword.operator.comparison - source: value_type + scopes: + - variable.other.unknown.value_type - source: ',' scopesBegin: - meta.static_assert.message @@ -1001,10 +1011,14 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: is_trivial_v + scopes: + - variable.other.unknown.is_trivial_v - source: < scopes: - keyword.operator.comparison - source: value_type + scopes: + - variable.other.unknown.value_type - source: '>' scopes: - keyword.operator.comparison @@ -1200,10 +1214,14 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: SSO_size + scopes: + - variable.other.unknown.SSO_size - source: < scopes: - keyword.operator.comparison - source: CharT + scopes: + - variable.other.unknown.CharT - source: '>' scopes: - keyword.operator.comparison @@ -1277,7 +1295,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'digits ' +- source: digits + scopes: + - variable.other.unknown.digits - source: '-' scopes: - keyword.operator.arithmetic @@ -1372,9 +1392,11 @@ scopes: - meta.head.struct - punctuation.section.block.begin.bracket.curly.struct -- source: "\t\t\tCharT " +- source: CharT scopesBegin: - meta.body.struct + scopes: + - variable.other.unknown.CharT - source: buf scopesBegin: - meta.bracket.square.access @@ -1384,6 +1406,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1428,6 +1452,7 @@ - source: _long scopes: - meta.arguments.operator.sizeof + - variable.other.unknown._long - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -1444,6 +1469,7 @@ - source: _short scopes: - meta.arguments.operator.sizeof + - variable.other.unknown._short - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -1628,6 +1654,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1692,7 +1720,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'digits ' +- source: digits + scopes: + - variable.other.unknown.digits - source: '-' scopes: - keyword.operator.arithmetic @@ -1800,6 +1830,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1860,6 +1892,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1971,6 +2005,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2031,6 +2067,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2143,6 +2181,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2161,7 +2201,9 @@ - source: ':' scopes: - keyword.operator.ternary -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ; scopes: - punctuation.terminator.statement @@ -2258,6 +2300,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2276,7 +2320,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' _size_mask' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: ; scopes: - punctuation.terminator.statement @@ -2325,6 +2371,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2346,11 +2394,15 @@ - source: return scopes: - keyword.control.return -- source: ' _SSO_Cap ' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: '-' scopes: - keyword.operator.arithmetic -- source: ' remain' +- source: remain + scopes: + - variable.other.unknown.remain - source: ; scopes: - punctuation.terminator.statement @@ -2427,6 +2479,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2445,7 +2499,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' size ' +- source: size + scopes: + - variable.other.unknown.size - source: '|' scopes: - keyword.operator.bitwise @@ -2454,7 +2510,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: '_size_mask ' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: + scopes: - keyword.operator.arithmetic @@ -2542,6 +2600,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2560,11 +2620,15 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' _SSO_Cap ' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: '-' scopes: - keyword.operator.arithmetic -- source: ' size' +- source: size + scopes: + - variable.other.unknown.size - source: ; scopes: - punctuation.terminator.statement @@ -2662,7 +2726,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' preserve ' +- source: preserve + scopes: + - variable.other.unknown.preserve - source: '?' scopes: - keyword.operator.ternary @@ -2681,11 +2747,15 @@ - source: ':' scopes: - keyword.operator.ternary -- source: ' size ' +- source: size + scopes: + - variable.other.unknown.size - source: <= scopes: - keyword.operator.comparison -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ; scopes: - punctuation.terminator.statement @@ -2698,6 +2768,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: small + scopes: + - variable.other.unknown.small - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -2715,6 +2787,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: size + scopes: + - variable.other.unknown.size - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2741,6 +2815,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: size + scopes: + - variable.other.unknown.size - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2823,11 +2899,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'count ' +- source: count + scopes: + - variable.other.unknown.count - source: <= scopes: - keyword.operator.comparison -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -2841,7 +2921,9 @@ - source: return scopes: - keyword.control.return -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ; scopes: - punctuation.terminator.statement @@ -2853,7 +2935,9 @@ - source: return scopes: - keyword.control.return -- source: ' count ' +- source: count + scopes: + - variable.other.unknown.count - source: '|' scopes: - keyword.operator.bitwise @@ -2914,11 +2998,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'count ' +- source: count + scopes: + - variable.other.unknown.count - source: '>' scopes: - keyword.operator.comparison -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -2946,6 +3034,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2981,6 +3071,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3040,13 +3132,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' capacity ' +- source: capacity + scopes: + - variable.other.unknown.capacity - source: + scopes: - keyword.operator.arithmetic @@ -3059,11 +3155,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' capacity' +- source: capacity + scopes: + - variable.other.unknown.capacity - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: "\t\t\t\t count " +- source: count + scopes: + - variable.other.unknown.count - source: '|' scopes: - keyword.operator.bitwise @@ -3072,7 +3172,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: '_size_mask ' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: + scopes: - keyword.operator.arithmetic @@ -3146,6 +3248,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3164,11 +3268,15 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' _SSO_Cap ' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: '-' scopes: - keyword.operator.arithmetic -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement @@ -3289,6 +3397,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3453,7 +3563,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: 'buf ' +- source: buf + scopes: + - variable.other.unknown.buf - source: '!=' scopes: - keyword.operator.comparison @@ -3497,14 +3609,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' contents' +- source: contents + scopes: + - variable.other.unknown.contents - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3533,6 +3651,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -3563,6 +3683,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3648,11 +3770,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' contents' +- source: contents + scopes: + - variable.other.unknown.contents - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3709,9 +3835,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: "\t\t\tnew_cap " +- source: new_cap scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.new_cap - source: '=' scopes: - keyword.operator.assignment @@ -3722,6 +3850,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: new_cap + scopes: + - variable.other.unknown.new_cap - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3781,13 +3911,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' new_cap ' +- source: new_cap + scopes: + - variable.other.unknown.new_cap - source: + scopes: - keyword.operator.arithmetic @@ -3807,6 +3941,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3884,6 +4020,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3902,10 +4040,14 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' new_cap' +- source: new_cap + scopes: + - variable.other.unknown.new_cap - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3926,7 +4068,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: '_size_mask ' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: + scopes: - keyword.operator.arithmetic @@ -4017,7 +4161,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'size ' +- source: size + scopes: + - variable.other.unknown.size - source: < scopes: - keyword.operator.comparison @@ -4085,6 +4231,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: size + scopes: + - variable.other.unknown.size - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -4093,7 +4241,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' elem' +- source: elem + scopes: + - variable.other.unknown.elem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4121,7 +4271,9 @@ - source: '[' scopes: - punctuation.definition.begin.bracket.square -- source: 'size ' +- source: size + scopes: + - variable.other.unknown.size - source: + scopes: - keyword.operator.arithmetic @@ -4157,7 +4309,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'size ' +- source: size + scopes: + - variable.other.unknown.size - source: + scopes: - keyword.operator.arithmetic @@ -4233,7 +4387,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' old_cap ' +- source: old_cap + scopes: + - variable.other.unknown.old_cap - source: + scopes: - keyword.operator.arithmetic @@ -4242,7 +4398,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'old_cap ' +- source: old_cap + scopes: + - variable.other.unknown.old_cap - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -4262,7 +4420,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'old_cap ' +- source: old_cap + scopes: + - variable.other.unknown.old_cap - source: '&' scopes: - keyword.operator.bitwise @@ -4284,6 +4444,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: new_cap + scopes: + - variable.other.unknown.new_cap - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4297,6 +4459,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: elem + scopes: + - variable.other.unknown.elem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4430,10 +4594,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: first + scopes: + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4476,23 +4644,33 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'buf ' +- source: buf + scopes: + - variable.other.unknown.buf - source: + scopes: - keyword.operator.arithmetic -- source: ' pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: + scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.other.unknown.distance - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' buf ' +- source: buf + scopes: + - variable.other.unknown.buf - source: + scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4508,7 +4686,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4523,11 +4703,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -4560,6 +4744,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -4572,6 +4758,8 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4582,6 +4770,8 @@ scopes: - keyword.operator.increment - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4589,6 +4779,8 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -4615,7 +4807,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4793,10 +4987,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: first + scopes: + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4867,7 +5065,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4927,13 +5127,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' new_cap ' +- source: new_cap + scopes: + - variable.other.unknown.new_cap - source: + scopes: - keyword.operator.arithmetic @@ -4968,14 +5172,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: new_buf + scopes: + - variable.other.unknown.new_buf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' old_buf' +- source: old_buf + scopes: + - variable.other.unknown.old_buf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4990,11 +5200,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5027,6 +5241,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -5039,6 +5255,8 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5049,6 +5267,8 @@ scopes: - keyword.operator.increment - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -5056,6 +5276,8 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -5085,23 +5307,33 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'new_buf ' +- source: new_buf + scopes: + - variable.other.unknown.new_buf - source: + scopes: - keyword.operator.arithmetic -- source: ' pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: + scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.other.unknown.distance - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' old_buf ' +- source: old_buf + scopes: + - variable.other.unknown.old_buf - source: + scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -5117,7 +5349,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5165,6 +5399,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5183,10 +5419,14 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: new_buf + scopes: + - variable.other.unknown.new_buf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' new_cap' +- source: new_cap + scopes: + - variable.other.unknown.new_cap - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -5202,7 +5442,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' distance ' +- source: distance + scopes: + - variable.other.unknown.distance - source: '|' scopes: - keyword.operator.bitwise @@ -5211,7 +5453,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: '_size_mask ' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: + scopes: - keyword.operator.arithmetic @@ -5402,10 +5646,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: first + scopes: + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5432,7 +5680,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' distance ' +- source: distance + scopes: + - variable.other.unknown.distance - source: '>' scopes: - keyword.operator.comparison @@ -5462,14 +5712,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' first' +- source: first + scopes: + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5496,14 +5752,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' first' +- source: first + scopes: + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5588,6 +5850,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: __string + scopes: + - variable.other.unknown.__string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5740,9 +6004,12 @@ scopes: - >- punctuation.section.arguments.begin.bracket.round.function.call.initializer -- source: '{._s ' +- source: '{.' scopesBegin: - meta.parameter.initialization +- source: _s + scopes: + - variable.other.unknown._s - source: '=' scopes: - keyword.operator.assignment @@ -5750,11 +6017,16 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' _SSO_Cap}}' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap +- source: '}}' - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -5938,7 +6210,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -5972,6 +6246,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5992,7 +6268,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment @@ -6002,15 +6280,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: < scopes: - keyword.operator.comparison -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ++ scopes: - keyword.operator.increment @@ -6048,6 +6332,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -6056,7 +6342,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6090,6 +6378,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -6201,7 +6491,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -6243,7 +6535,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ; scopes: - punctuation.terminator.statement @@ -6254,6 +6548,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6284,11 +6580,15 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6392,7 +6692,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -6404,9 +6706,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: "\t\t\tcount " +- source: count scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.other.unknown.count - source: '=' scopes: - keyword.operator.assignment @@ -6441,11 +6745,15 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6459,6 +6767,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6489,11 +6799,15 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6588,7 +6902,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -6609,6 +6925,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6622,10 +6940,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6787,6 +7109,8 @@ - source: s scopesBegin: - meta.parameter.initialization + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6804,13 +7128,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -7001,7 +7329,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -7057,6 +7387,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: value + scopes: + - variable.other.unknown.value - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7092,10 +7424,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: first + scopes: + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7122,6 +7458,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7136,11 +7474,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7168,6 +7510,8 @@ scopes: - keyword.operator.arithmetic - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7175,6 +7519,8 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7185,6 +7531,8 @@ scopes: - keyword.operator.increment - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7206,6 +7554,8 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -7236,6 +7586,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -7270,7 +7622,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: "\t\t\t__string " +- source: __string + scopes: + - variable.other.unknown.__string - source: '=' scopes: - keyword.operator.assignment @@ -7292,7 +7646,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7309,11 +7665,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7334,6 +7694,8 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7344,6 +7706,8 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -7401,6 +7765,8 @@ - source: other scopesBegin: - meta.parameter.initialization + scopes: + - variable.other.unknown.other - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7490,7 +7856,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -7552,6 +7920,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7572,6 +7942,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7593,7 +7965,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7665,6 +8039,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: other + scopes: + - variable.other.unknown.other - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7763,7 +8139,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -7785,7 +8163,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'alloc ' +- source: alloc + scopes: + - variable.other.unknown.alloc - source: '!=' scopes: - keyword.operator.comparison @@ -7870,6 +8250,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7890,6 +8272,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7911,7 +8295,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7955,6 +8341,8 @@ scopes: - keyword.operator.bitwise - source: other + scopes: + - variable.other.unknown.other - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7968,6 +8356,7 @@ - source: basic_string scopes: - meta.arguments.operator.sizeof + - variable.other.unknown.basic_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -8010,6 +8399,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8147,7 +8538,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' alloc' +- source: alloc + scopes: + - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization - source: ) @@ -8355,7 +8748,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' t' +- source: t + scopes: + - variable.other.unknown.t - source: ; scopes: - punctuation.terminator.statement @@ -8394,6 +8789,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8424,7 +8821,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8638,6 +9037,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: t + scopes: + - variable.other.unknown.t - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8651,10 +9052,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8788,6 +9193,8 @@ scopes: - keyword.operator.bitwise - source: str + scopes: + - variable.other.unknown.str - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9036,7 +9443,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'value ' +- source: value + scopes: + - variable.other.unknown.value - source: '||' scopes: - keyword.operator.logical @@ -9055,6 +9464,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: value + scopes: + - variable.other.unknown.value scopesEnd: - meta.arguments.operator.noexcept - source: ) @@ -9086,6 +9497,8 @@ scopes: - keyword.operator.bitwise - source: other + scopes: + - variable.other.unknown.other - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9169,6 +9582,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: value + scopes: + - variable.other.unknown.value - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9214,6 +9629,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9244,7 +9661,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9280,6 +9699,8 @@ scopes: - keyword.operator.bitwise - source: other + scopes: + - variable.other.unknown.other - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9293,6 +9714,7 @@ - source: basic_string scopes: - meta.arguments.operator.sizeof + - variable.other.unknown.basic_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -9315,6 +9737,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9416,6 +9840,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9448,7 +9874,9 @@ - source: < scopes: - keyword.operator.comparison -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9478,6 +9906,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9496,10 +9926,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9638,7 +10072,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9861,7 +10297,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: "\t\t\t\tbuf " +- source: buf + scopes: + - variable.other.unknown.buf - source: '=' scopes: - keyword.operator.assignment @@ -9872,6 +10310,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9897,6 +10337,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9961,6 +10403,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10232,7 +10676,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' t' +- source: t + scopes: + - variable.other.unknown.t - source: ; scopes: - punctuation.terminator.statement @@ -10284,6 +10730,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10314,7 +10762,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10408,6 +10858,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10428,7 +10880,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment @@ -10438,15 +10892,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: < scopes: - keyword.operator.comparison -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ++ scopes: - keyword.operator.increment @@ -10484,6 +10944,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10492,7 +10954,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10526,6 +10990,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: count + scopes: + - variable.other.unknown.count - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10621,7 +11087,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' str' +- source: str + scopes: + - variable.other.unknown.str - source: ; scopes: - punctuation.terminator.statement @@ -10681,7 +11149,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' npos' +- source: npos + scopes: + - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -10717,10 +11187,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10794,7 +11268,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'value ' +- source: value + scopes: + - variable.other.unknown.value - source: '||' scopes: - keyword.operator.logical @@ -10813,6 +11289,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: value + scopes: + - variable.other.unknown.value scopesEnd: - meta.arguments.operator.noexcept - source: ) @@ -10851,6 +11329,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: str + scopes: + - variable.other.unknown.str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10924,14 +11404,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: + scopes: - keyword.operator.arithmetic -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10996,6 +11482,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11013,6 +11501,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -11222,6 +11712,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: value + scopes: + - variable.other.unknown.value - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11257,10 +11749,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: first + scopes: + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11287,6 +11783,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11301,11 +11799,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11333,6 +11835,8 @@ scopes: - keyword.operator.arithmetic - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11340,6 +11844,8 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11350,6 +11856,8 @@ scopes: - keyword.operator.increment - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11371,6 +11879,8 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -11419,11 +11929,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11444,6 +11958,8 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11454,6 +11970,8 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -11865,6 +12383,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: t + scopes: + - variable.other.unknown.t - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11878,10 +12398,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11938,7 +12462,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: '>=' scopes: - keyword.operator.comparison @@ -12017,6 +12543,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -12075,7 +12603,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: '>=' scopes: - keyword.operator.comparison @@ -12154,6 +12684,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -12227,6 +12759,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -12301,6 +12835,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -13672,7 +14208,9 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' _size_mask ' +- source: _size_mask + scopes: + - variable.other.unknown._size_mask - source: '-' scopes: - keyword.operator.arithmetic @@ -13730,7 +14268,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'new_cap ' +- source: new_cap + scopes: + - variable.other.unknown.new_cap - source: '>' scopes: - keyword.operator.comparison @@ -13760,6 +14300,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: new_cap + scopes: + - variable.other.unknown.new_cap - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13911,7 +14453,9 @@ - source: '>' scopes: - keyword.operator.comparison -- source: ' _SSO_Cap' +- source: _SSO_Cap + scopes: + - variable.other.unknown._SSO_Cap - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14064,6 +14608,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14074,6 +14620,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14087,10 +14635,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: ch + scopes: + - variable.other.unknown.ch - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -14194,6 +14746,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14207,18 +14761,26 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: + scopes: - keyword.operator.arithmetic -- source: ' distance' +- source: distance + scopes: + - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14310,18 +14872,26 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: + scopes: - keyword.operator.arithmetic -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14404,6 +14974,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14523,7 +15095,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' npos' +- source: npos + scopes: + - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -14535,9 +15109,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: "\t\t\tcount " +- source: count scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.count - source: '=' scopes: - keyword.operator.assignment @@ -14555,6 +15131,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14576,7 +15154,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' index_str' +- source: index_str + scopes: + - variable.other.unknown.index_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14590,6 +15170,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14611,7 +15193,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' index_str' +- source: index_str + scopes: + - variable.other.unknown.index_str - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14633,11 +15217,15 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' index_str ' +- source: index_str + scopes: + - variable.other.unknown.index_str - source: + scopes: - keyword.operator.arithmetic -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14713,7 +15301,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: '-' scopes: - keyword.operator.arithmetic @@ -14729,7 +15319,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14808,7 +15400,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: '-' scopes: - keyword.operator.arithmetic @@ -14824,11 +15418,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15002,7 +15600,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: '==' scopes: - keyword.operator.comparison @@ -15033,11 +15633,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15058,6 +15662,8 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.other.unknown.first - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15068,6 +15674,8 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -15100,7 +15708,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: '-' scopes: - keyword.operator.arithmetic @@ -15124,11 +15734,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'first ' +- source: first + scopes: + - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison -- source: ' last' +- source: last + scopes: + - variable.other.unknown.last - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15154,6 +15768,8 @@ scopes: - keyword.operator.arithmetic - source: first + scopes: + - variable.other.unknown.first - source: ; scopes: - punctuation.terminator.statement @@ -15164,6 +15780,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: indx + scopes: + - variable.other.unknown.indx - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15174,6 +15792,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15187,6 +15807,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: ch + scopes: + - variable.other.unknown.ch - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15206,6 +15828,8 @@ scopes: - keyword.operator.increment - source: first + scopes: + - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15227,6 +15851,8 @@ scopes: - keyword.operator.increment - source: indx + scopes: + - variable.other.unknown.indx - source: ; scopes: - punctuation.terminator.statement @@ -15327,7 +15953,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: '-' scopes: - keyword.operator.arithmetic @@ -15628,7 +16256,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' t' +- source: t + scopes: + - variable.other.unknown.t - source: ; scopes: - punctuation.terminator.statement @@ -15642,6 +16272,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15916,7 +16548,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' npos' +- source: npos + scopes: + - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -15947,6 +16581,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: t + scopes: + - variable.other.unknown.t - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15960,10 +16596,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index_str + scopes: + - variable.other.unknown.index_str - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -15980,6 +16620,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16069,7 +16711,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' npos' +- source: npos + scopes: + - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -16081,9 +16725,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: "\t\t\tcount " +- source: count scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.count - source: '=' scopes: - keyword.operator.assignment @@ -16101,6 +16747,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: count + scopes: + - variable.other.unknown.count - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16116,7 +16764,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16131,7 +16781,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'count ' +- source: count + scopes: + - variable.other.unknown.count - source: '==' scopes: - keyword.operator.comparison diff --git a/language_examples/feature_consteval.spec.yaml b/language_examples/feature_consteval.spec.yaml index e47dfd2a..9e1607cb 100644 --- a/language_examples/feature_consteval.spec.yaml +++ b/language_examples/feature_consteval.spec.yaml @@ -54,11 +54,15 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '*' scopes: - keyword.operator.arithmetic -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement @@ -109,11 +113,15 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '*' scopes: - keyword.operator.arithmetic -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_constinit.spec.yaml b/language_examples/feature_constinit.spec.yaml index 7668fcbd..504af42f 100644 --- a/language_examples/feature_constinit.spec.yaml +++ b/language_examples/feature_constinit.spec.yaml @@ -44,7 +44,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' c ' +- source: c + scopes: + - variable.other.unknown.c - source: '=' scopes: - keyword.operator.assignment @@ -82,7 +84,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' x' +- source: x + scopes: + - variable.other.unknown.x - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_doxygen.spec.yaml b/language_examples/feature_doxygen.spec.yaml index 1edfaf2e..3ab54f87 100644 --- a/language_examples/feature_doxygen.spec.yaml +++ b/language_examples/feature_doxygen.spec.yaml @@ -198,7 +198,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' var' +- source: var + scopes: + - variable.other.unknown.var - source: ; scopes: - punctuation.terminator.statement @@ -638,7 +640,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' enumPtr' +- source: enumPtr + scopes: + - variable.other.unknown.enumPtr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -661,7 +665,9 @@ - punctuation.definition.comment.end.documentation scopesEnd: - comment.block.documentation -- source: "\t enumVar" +- source: enumVar + scopes: + - variable.other.unknown.enumVar scopesEnd: - meta.tail.enum - source: ; diff --git a/language_examples/feature_parameters.spec.yaml b/language_examples/feature_parameters.spec.yaml index 343d3ec2..db89d772 100644 --- a/language_examples/feature_parameters.spec.yaml +++ b/language_examples/feature_parameters.spec.yaml @@ -64,7 +64,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Type' +- source: Type + scopes: + - variable.other.unknown.Type - source: ; scopes: - punctuation.terminator.statement @@ -72,7 +74,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -231,7 +235,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' fn_ptr2' +- source: fn_ptr2 + scopes: + - variable.other.unknown.fn_ptr2 scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -306,7 +312,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' fn_ptr' +- source: fn_ptr + scopes: + - variable.other.unknown.fn_ptr scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -497,7 +505,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -542,7 +552,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -740,7 +752,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' fn_ptr2' +- source: fn_ptr2 + scopes: + - variable.other.unknown.fn_ptr2 scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -815,7 +829,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' fn_ptr' +- source: fn_ptr + scopes: + - variable.other.unknown.fn_ptr scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -1006,7 +1022,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -1051,7 +1069,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters - meta.parameter @@ -2373,7 +2393,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/feature_preprocessor.spec.yaml b/language_examples/feature_preprocessor.spec.yaml index c3f51b18..d16ec720 100644 --- a/language_examples/feature_preprocessor.spec.yaml +++ b/language_examples/feature_preprocessor.spec.yaml @@ -50,7 +50,9 @@ - source: a scopes: - entity.name.function.preprocessor -- source: ' thing ' +- source: thing + scopes: + - variable.other.unknown.thing - source: '{' scopesBegin: - meta.block @@ -91,7 +93,12 @@ - source: ) scopes: - punctuation.definition.parameters.end.preprocessor -- source: ' arg1 arg2' +- source: arg1 + scopes: + - variable.other.unknown.arg1 +- source: arg2 + scopes: + - variable.other.unknown.arg2 - source: '#' scopesBegin: - keyword.control.directive.define @@ -488,7 +495,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' members' +- source: members + scopes: + - variable.other.unknown.members - source: ; scopes: - punctuation.terminator.statement @@ -702,6 +711,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: T + scopes: + - variable.other.unknown.T - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -838,7 +849,9 @@ - source: test scopes: - entity.name.function.preprocessor -- source: ' test2' +- source: test2 + scopes: + - variable.other.unknown.test2 - source: /* scopesBegin: - comment.block @@ -911,6 +924,7 @@ - source: BB scopes: - meta.tail.enum + - variable.other.unknown.BB - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_tagged_strings.spec.yaml b/language_examples/feature_tagged_strings.spec.yaml index 4e54c8c8..637b2a6b 100644 --- a/language_examples/feature_tagged_strings.spec.yaml +++ b/language_examples/feature_tagged_strings.spec.yaml @@ -2,7 +2,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' re_pattern ' +- source: re_pattern + scopes: + - variable.other.unknown.re_pattern - source: '=' scopes: - keyword.operator.assignment @@ -28,7 +30,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' re_pattern ' +- source: re_pattern + scopes: + - variable.other.unknown.re_pattern - source: '=' scopes: - keyword.operator.assignment @@ -54,7 +58,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' re_pattern ' +- source: re_pattern + scopes: + - variable.other.unknown.re_pattern - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/feature_thread_local.spec.yaml b/language_examples/feature_thread_local.spec.yaml index d8f32c49..13cfbcb4 100644 --- a/language_examples/feature_thread_local.spec.yaml +++ b/language_examples/feature_thread_local.spec.yaml @@ -70,7 +70,9 @@ - source: return scopes: - keyword.control.return -- source: ' bar' +- source: bar + scopes: + - variable.other.unknown.bar - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/feature_trailing_return_types.spec.yaml b/language_examples/feature_trailing_return_types.spec.yaml index 406b24fe..225faf54 100644 --- a/language_examples/feature_trailing_return_types.spec.yaml +++ b/language_examples/feature_trailing_return_types.spec.yaml @@ -127,7 +127,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Start_Value ' +- source: Start_Value + scopes: + - variable.other.unknown.Start_Value - source: '=' scopes: - keyword.operator.assignment @@ -141,7 +143,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' End_Value ' +- source: End_Value + scopes: + - variable.other.unknown.End_Value - source: '=' scopes: - keyword.operator.assignment @@ -167,7 +171,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Start_Value ' +- source: Start_Value + scopes: + - variable.other.unknown.Start_Value - source: '=' scopes: - keyword.operator.assignment @@ -191,7 +197,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' End_Value ' +- source: End_Value + scopes: + - variable.other.unknown.End_Value - source: '=' scopes: - keyword.operator.assignment @@ -223,23 +231,33 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment -- source: ' Start_Value' +- source: Start_Value + scopes: + - variable.other.unknown.Start_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' End_Value ' +- source: End_Value + scopes: + - variable.other.unknown.End_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -361,6 +379,7 @@ - source: a scopes: - meta.arguments.decltype + - variable.other.unknown.a - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -378,6 +397,7 @@ - source: b scopes: - meta.arguments.decltype + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -391,10 +411,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -526,7 +550,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement @@ -551,6 +577,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: MAX_N_SIZE + scopes: + - variable.other.unknown.MAX_N_SIZE - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -558,6 +586,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: MAX_N_SIZE + scopes: + - variable.other.unknown.MAX_N_SIZE - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -641,7 +671,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' r' +- source: r + scopes: + - variable.other.unknown.r - source: ; scopes: - punctuation.terminator.statement @@ -656,7 +688,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ; scopes: - punctuation.terminator.statement @@ -671,7 +705,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement @@ -686,7 +722,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' itemIndex ' +- source: itemIndex + scopes: + - variable.other.unknown.itemIndex - source: + scopes: - keyword.operator.arithmetic @@ -707,11 +745,15 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' totalNumberOfItems ' +- source: totalNumberOfItems + scopes: + - variable.other.unknown.totalNumberOfItems - source: '-' scopes: - keyword.operator.arithmetic -- source: ' itemIndex' +- source: itemIndex + scopes: + - variable.other.unknown.itemIndex - source: ; scopes: - punctuation.terminator.statement @@ -731,11 +773,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'itemRelativeRank ' +- source: itemRelativeRank + scopes: + - variable.other.unknown.itemRelativeRank - source: / scopes: - keyword.operator.arithmetic -- source: ' nextItemIndex' +- source: nextItemIndex + scopes: + - variable.other.unknown.nextItemIndex - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -755,7 +801,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' itemRelativeRank ' +- source: itemRelativeRank + scopes: + - variable.other.unknown.itemRelativeRank - source: '-' scopes: - keyword.operator.arithmetic @@ -776,15 +824,21 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' numberOfRemainingItems ' +- source: numberOfRemainingItems + scopes: + - variable.other.unknown.numberOfRemainingItems - source: '*' scopes: - keyword.operator.arithmetic -- source: ' probabilityOfBeingBetterThanCurrentItem ' +- source: probabilityOfBeingBetterThanCurrentItem + scopes: + - variable.other.unknown.probabilityOfBeingBetterThanCurrentItem - source: + scopes: - keyword.operator.arithmetic -- source: ' numberOfSeenItemsThatAreBetterThanCurrentItem' +- source: numberOfSeenItemsThatAreBetterThanCurrentItem + scopes: + - variable.other.unknown.numberOfSeenItemsThatAreBetterThanCurrentItem - source: ; scopes: - punctuation.terminator.statement @@ -804,7 +858,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expectedAverageRank ' +- source: expectedAverageRank + scopes: + - variable.other.unknown.expectedAverageRank - source: '==' scopes: - keyword.operator.comparison @@ -821,7 +877,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' expectedAverageRank ' +- source: expectedAverageRank + scopes: + - variable.other.unknown.expectedAverageRank - source: '=' scopes: - keyword.operator.assignment @@ -852,7 +910,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'totalNumberOfItems ' +- source: totalNumberOfItems + scopes: + - variable.other.unknown.totalNumberOfItems - source: + scopes: - keyword.operator.arithmetic @@ -867,14 +927,18 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' expectedAverageRank' +- source: expectedAverageRank + scopes: + - variable.other.unknown.expectedAverageRank - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' expectedValue' +- source: expectedValue + scopes: + - variable.other.unknown.expectedValue - source: ; scopes: - punctuation.terminator.statement @@ -947,7 +1011,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' r' +- source: r + scopes: + - variable.other.unknown.r - source: ; scopes: - punctuation.terminator.statement @@ -962,7 +1028,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ; scopes: - punctuation.terminator.statement @@ -977,7 +1045,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement @@ -992,7 +1062,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' itemIndex ' +- source: itemIndex + scopes: + - variable.other.unknown.itemIndex - source: + scopes: - keyword.operator.arithmetic @@ -1019,7 +1091,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' estimatedValueOfAccepting ' +- source: estimatedValueOfAccepting + scopes: + - variable.other.unknown.estimatedValueOfAccepting - source: '=' scopes: - keyword.operator.assignment @@ -1029,7 +1103,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' estimatedValueOfRejecting ' +- source: estimatedValueOfRejecting + scopes: + - variable.other.unknown.estimatedValueOfRejecting - source: '=' scopes: - keyword.operator.assignment @@ -1039,7 +1115,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' sum ' +- source: sum + scopes: + - variable.other.unknown.sum - source: '=' scopes: - keyword.operator.assignment @@ -1065,11 +1143,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'itemIndex ' +- source: itemIndex + scopes: + - variable.other.unknown.itemIndex - source: '>' scopes: - keyword.operator.comparison -- source: ' totalNumberOfItems' +- source: totalNumberOfItems + scopes: + - variable.other.unknown.totalNumberOfItems - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1080,7 +1162,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -1129,6 +1213,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: r + scopes: + - variable.other.unknown.r - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1136,6 +1222,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1177,6 +1265,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: r + scopes: + - variable.other.unknown.r - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1184,6 +1274,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1197,7 +1289,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' estimatedValueOfAccepting ' +- source: estimatedValueOfAccepting + scopes: + - variable.other.unknown.estimatedValueOfAccepting - source: '=' scopes: - keyword.operator.assignment @@ -1208,10 +1302,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: r + scopes: + - variable.other.unknown.r - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1234,11 +1332,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'itemIndex ' +- source: itemIndex + scopes: + - variable.other.unknown.itemIndex - source: '==' scopes: - keyword.operator.comparison -- source: ' totalNumberOfItems' +- source: totalNumberOfItems + scopes: + - variable.other.unknown.totalNumberOfItems - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1257,11 +1359,15 @@ - source: ' must pick the last item' scopesEnd: - comment.line.double-slash -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment -- source: ' estimatedValueOfAccepting' +- source: estimatedValueOfAccepting + scopes: + - variable.other.unknown.estimatedValueOfAccepting - source: ; scopes: - punctuation.terminator.statement @@ -1287,7 +1393,9 @@ - source: ' if there is a choice (if there are more items)' scopesEnd: - comment.line.double-slash -- source: ' sum ' +- source: sum + scopes: + - variable.other.unknown.sum - source: '=' scopes: - keyword.operator.assignment @@ -1297,12 +1405,24 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopFrom_ ' +- source: LoopFrom_ + scopes: + - variable.other.unknown.LoopFrom_ - source: '1' scopes: - constant.numeric.decimal -- source: ' _To_ nextItemIndex _Times' -- source: ' sum ' +- source: _To_ + scopes: + - variable.other.unknown._To_ +- source: nextItemIndex + scopes: + - variable.other.unknown.nextItemIndex +- source: _Times + scopes: + - variable.other.unknown._Times +- source: sum + scopes: + - variable.other.unknown.sum - source: += scopes: - keyword.operator.assignment.compound @@ -1313,26 +1433,38 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: nextItemIndex + scopes: + - variable.other.unknown.nextItemIndex - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' EndLoop' -- source: ' estimatedValueOfRejecting ' +- source: EndLoop + scopes: + - variable.other.unknown.EndLoop +- source: estimatedValueOfRejecting + scopes: + - variable.other.unknown.estimatedValueOfRejecting - source: '=' scopes: - keyword.operator.assignment -- source: ' sum' +- source: sum + scopes: + - variable.other.unknown.sum - source: / scopes: - keyword.operator.arithmetic - source: nextItemIndex + scopes: + - variable.other.unknown.nextItemIndex - source: ; scopes: - punctuation.terminator.statement @@ -1344,7 +1476,9 @@ - source: ' return whichever is bigger' scopesEnd: - comment.line.double-slash -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -1353,11 +1487,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'estimatedValueOfRejecting ' +- source: estimatedValueOfRejecting + scopes: + - variable.other.unknown.estimatedValueOfRejecting - source: '>' scopes: - keyword.operator.comparison -- source: ' estimatedValueOfAccepting' +- source: estimatedValueOfAccepting + scopes: + - variable.other.unknown.estimatedValueOfAccepting - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1366,11 +1504,15 @@ - source: '?' scopes: - keyword.operator.ternary -- source: ' estimatedValueOfRejecting ' +- source: estimatedValueOfRejecting + scopes: + - variable.other.unknown.estimatedValueOfRejecting - source: ':' scopes: - keyword.operator.ternary -- source: ' estimatedValueOfAccepting' +- source: estimatedValueOfAccepting + scopes: + - variable.other.unknown.estimatedValueOfAccepting - source: ; scopes: - punctuation.terminator.statement @@ -1397,6 +1539,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: r + scopes: + - variable.other.unknown.r - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1404,6 +1548,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: s + scopes: + - variable.other.unknown.s - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1412,14 +1558,18 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -1539,11 +1689,21 @@ - source: ' reset the cache' scopesEnd: - comment.line.double-slash -- source: ' LoopFrom_ ' +- source: LoopFrom_ + scopes: + - variable.other.unknown.LoopFrom_ - source: '1' scopes: - constant.numeric.decimal -- source: ' _To_ MAX_N_SIZE _Times' +- source: _To_ + scopes: + - variable.other.unknown._To_ +- source: MAX_N_SIZE + scopes: + - variable.other.unknown.MAX_N_SIZE +- source: _Times + scopes: + - variable.other.unknown._Times - source: short scopes: - meta.qualified_type @@ -1555,7 +1715,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -1565,11 +1727,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopFrom_ ' +- source: LoopFrom_ + scopes: + - variable.other.unknown.LoopFrom_ - source: '1' scopes: - constant.numeric.decimal -- source: ' _To_ MAX_N_SIZE _Times' +- source: _To_ + scopes: + - variable.other.unknown._To_ +- source: MAX_N_SIZE + scopes: + - variable.other.unknown.MAX_N_SIZE +- source: _Times + scopes: + - variable.other.unknown._Times - source: short scopes: - meta.qualified_type @@ -1581,7 +1753,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -1600,6 +1774,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: row + scopes: + - variable.other.unknown.row - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1607,6 +1783,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: cell + scopes: + - variable.other.unknown.cell - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1621,17 +1799,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' EndLoop' -- source: ' EndLoop' -- source: ' cin ' +- source: EndLoop + scopesBegin: + - variable.other.unknown.EndLoop +- source: EndLoop + scopesEnd: + - variable.other.unknown.EndLoop +- source: cin + scopes: + - variable.other.unknown.cin - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/macro_issue.spec.yaml b/language_examples/macro_issue.spec.yaml index c953eb2f..42e2e335 100644 --- a/language_examples/macro_issue.spec.yaml +++ b/language_examples/macro_issue.spec.yaml @@ -127,6 +127,8 @@ scopes: - keyword.operator.arithmetic - source: func + scopes: + - variable.other.unknown.func - source: ) scopes: - punctuation.section.arguments.end.bracket.round.initializer @@ -135,7 +137,10 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: Args... +- source: Args + scopes: + - variable.other.unknown.Args +- source: ... - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -180,7 +185,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -190,15 +197,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' DRIVEN_WHEEL_COUNT' +- source: DRIVEN_WHEEL_COUNT + scopes: + - variable.other.unknown.DRIVEN_WHEEL_COUNT - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -228,6 +241,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -254,7 +269,10 @@ - source: ( scopes: - punctuation.section.parens.begin.bracket.round -- source: args... +- source: args + scopes: + - variable.other.unknown.args +- source: ... - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -289,6 +307,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -315,7 +335,10 @@ - source: ( scopes: - punctuation.section.parens.begin.bracket.round -- source: args... +- source: args + scopes: + - variable.other.unknown.args +- source: ... - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -364,10 +387,14 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: Drivers + scopes: + - variable.other.unknown.Drivers - source: '*' scopes: - keyword.operator.arithmetic -- source: ' drivers' +- source: drivers + scopes: + - variable.other.unknown.drivers - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -379,6 +406,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.other.unknown.drivers - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -404,14 +433,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RAIL_WHEEL_ID' +- source: RAIL_WHEEL_ID + scopes: + - variable.other.unknown.RAIL_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -453,14 +488,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' LEFT_BACK_WHEEL_ID' +- source: LEFT_BACK_WHEEL_ID + scopes: + - variable.other.unknown.LEFT_BACK_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -494,14 +535,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' LEFT_FRONT_WHEEL_ID' +- source: LEFT_FRONT_WHEEL_ID + scopes: + - variable.other.unknown.LEFT_FRONT_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -535,14 +582,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RIGHT_FRONT_WHEEL_ID' +- source: RIGHT_FRONT_WHEEL_ID + scopes: + - variable.other.unknown.RIGHT_FRONT_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -576,14 +629,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RIGHT_BACK_WHEEL_ID' +- source: RIGHT_BACK_WHEEL_ID + scopes: + - variable.other.unknown.RIGHT_BACK_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -629,14 +688,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' LEFT_BACK_YAW_ID' +- source: LEFT_BACK_YAW_ID + scopes: + - variable.other.unknown.LEFT_BACK_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -670,14 +735,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' LEFT_FRONT_YAW_ID' +- source: LEFT_FRONT_YAW_ID + scopes: + - variable.other.unknown.LEFT_FRONT_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -711,14 +782,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RIGHT_FRONT_YAW_ID' +- source: RIGHT_FRONT_YAW_ID + scopes: + - variable.other.unknown.RIGHT_FRONT_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -752,14 +829,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers + scopes: + - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RIGHT_BACK_YAW_ID' +- source: RIGHT_BACK_YAW_ID + scopes: + - variable.other.unknown.RIGHT_BACK_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' CHAS_BUS' +- source: CHAS_BUS + scopes: + - variable.other.unknown.CHAS_BUS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -956,6 +1039,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: RAIL + scopes: + - variable.other.unknown.RAIL - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -977,6 +1062,8 @@ scopes: - keyword.operator.bitwise - source: railWheel + scopes: + - variable.other.unknown.railWheel - source: ; scopes: - punctuation.terminator.statement @@ -1005,6 +1092,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: LB + scopes: + - variable.other.unknown.LB - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1026,6 +1115,8 @@ scopes: - keyword.operator.bitwise - source: leftBackWheel + scopes: + - variable.other.unknown.leftBackWheel - source: ; scopes: - punctuation.terminator.statement @@ -1038,6 +1129,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: LF + scopes: + - variable.other.unknown.LF - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1059,6 +1152,8 @@ scopes: - keyword.operator.bitwise - source: leftFrontWheel + scopes: + - variable.other.unknown.leftFrontWheel - source: ; scopes: - punctuation.terminator.statement @@ -1071,6 +1166,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: RF + scopes: + - variable.other.unknown.RF - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1092,6 +1189,8 @@ scopes: - keyword.operator.bitwise - source: rightFrontWheel + scopes: + - variable.other.unknown.rightFrontWheel - source: ; scopes: - punctuation.terminator.statement @@ -1104,6 +1203,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: RB + scopes: + - variable.other.unknown.RB - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1125,6 +1226,8 @@ scopes: - keyword.operator.bitwise - source: rightBackWheel + scopes: + - variable.other.unknown.rightBackWheel - source: ; scopes: - punctuation.terminator.statement @@ -1247,11 +1350,15 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' WHEELBASE_WIDTH ' +- source: WHEELBASE_WIDTH + scopes: + - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic -- source: ' WHEELBASE_LENGTH' +- source: WHEELBASE_LENGTH + scopes: + - variable.other.unknown.WHEELBASE_LENGTH - source: ; scopes: - punctuation.terminator.statement @@ -1379,11 +1486,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'WHEELBASE_WIDTH ' +- source: WHEELBASE_WIDTH + scopes: + - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic -- source: ' WHEELBASE_LENGTH' +- source: WHEELBASE_LENGTH + scopes: + - variable.other.unknown.WHEELBASE_LENGTH - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1511,11 +1622,15 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' WHEELBASE_WIDTH ' +- source: WHEELBASE_WIDTH + scopes: + - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic -- source: ' WHEELBASE_LENGTH' +- source: WHEELBASE_LENGTH + scopes: + - variable.other.unknown.WHEELBASE_LENGTH - source: ; scopes: - punctuation.terminator.statement @@ -1643,11 +1758,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'WHEELBASE_WIDTH ' +- source: WHEELBASE_WIDTH + scopes: + - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic -- source: ' WHEELBASE_LENGTH' +- source: WHEELBASE_LENGTH + scopes: + - variable.other.unknown.WHEELBASE_LENGTH - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1687,6 +1806,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: LB + scopes: + - variable.other.unknown.LB - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1708,6 +1829,8 @@ scopes: - keyword.operator.bitwise - source: leftBackYaw + scopes: + - variable.other.unknown.leftBackYaw - source: ; scopes: - punctuation.terminator.statement @@ -1720,6 +1843,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: LF + scopes: + - variable.other.unknown.LF - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1741,6 +1866,8 @@ scopes: - keyword.operator.bitwise - source: leftFrontYaw + scopes: + - variable.other.unknown.leftFrontYaw - source: ; scopes: - punctuation.terminator.statement @@ -1753,6 +1880,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: RF + scopes: + - variable.other.unknown.RF - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1774,6 +1903,8 @@ scopes: - keyword.operator.bitwise - source: rightFrontYaw + scopes: + - variable.other.unknown.rightFrontYaw - source: ; scopes: - punctuation.terminator.statement @@ -1786,6 +1917,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: RB + scopes: + - variable.other.unknown.RB - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1807,6 +1940,8 @@ scopes: - keyword.operator.bitwise - source: rightBackYaw + scopes: + - variable.other.unknown.rightBackYaw - source: ; scopes: - punctuation.terminator.statement @@ -1876,6 +2011,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: initialize + scopes: + - variable.other.unknown.initialize - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/misc_000.spec.yaml b/language_examples/misc_000.spec.yaml index 67b75f03..67c08c96 100644 --- a/language_examples/misc_000.spec.yaml +++ b/language_examples/misc_000.spec.yaml @@ -1155,7 +1155,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1198,7 +1200,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1219,7 +1223,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1240,7 +1246,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1289,7 +1297,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -1299,7 +1309,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1328,6 +1340,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1344,6 +1358,8 @@ scopes: - keyword.operator.comparison - source: Custom + scopes: + - variable.other.unknown.Custom - source: '>' scopes: - keyword.operator.comparison @@ -1353,6 +1369,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1381,6 +1399,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1413,7 +1433,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -1423,7 +1445,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1452,6 +1476,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1468,6 +1494,8 @@ scopes: - keyword.operator.comparison - source: Custom + scopes: + - variable.other.unknown.Custom - source: '>' scopes: - keyword.operator.comparison @@ -1477,6 +1505,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1505,6 +1535,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1535,7 +1567,9 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement @@ -1543,7 +1577,9 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement @@ -1626,7 +1662,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1658,7 +1696,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.delete -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -1717,6 +1757,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable + scopes: + - variable.other.unknown.a_callable - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -1733,7 +1775,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: 'array ' +- source: array + scopes: + - variable.other.unknown.array - source: '=' scopes: - keyword.operator.assignment @@ -1771,7 +1815,9 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' array' +- source: array + scopes: + - variable.other.unknown.array - source: ; scopes: - punctuation.terminator.statement @@ -1779,7 +1825,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ; scopes: - punctuation.terminator.statement @@ -1787,7 +1835,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' deleter' +- source: deleter + scopes: + - variable.other.unknown.deleter - source: ; scopes: - punctuation.terminator.statement @@ -2032,11 +2082,15 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -2072,11 +2126,15 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -2220,6 +2278,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: links_to + scopes: + - variable.other.unknown.links_to - source: ; scopes: - punctuation.terminator.statement @@ -2234,6 +2294,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: name + scopes: + - variable.other.unknown.name - source: ; scopes: - punctuation.terminator.statement @@ -2309,6 +2371,7 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.other.unknown.acopy - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -2329,6 +2392,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy + scopes: + - variable.other.unknown.acopy - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -2368,6 +2433,7 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.other.unknown.acopy - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -2388,6 +2454,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy + scopes: + - variable.other.unknown.acopy - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3986,7 +4054,9 @@ - source: ) scopes: - punctuation.definition.parameters.end.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4093,7 +4163,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4120,10 +4192,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4138,6 +4214,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -4148,7 +4226,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4159,10 +4239,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4177,6 +4261,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -4291,6 +4377,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.other.unknown.vector - source: < scopesBegin: - meta.template.call @@ -4460,6 +4548,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.other.unknown.vector - source: < scopes: - punctuation.section.angle-brackets.begin.template.call @@ -4575,6 +4665,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.other.unknown.vector - source: < scopes: - punctuation.section.angle-brackets.begin.template.call @@ -4964,6 +5056,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: used + scopes: + - variable.other.unknown.used - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5058,6 +5152,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable + scopes: + - variable.other.unknown.a_callable - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -5067,7 +5163,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' used ' +- source: used + scopes: + - variable.other.unknown.used - source: '=' scopes: - keyword.operator.assignment @@ -5172,6 +5270,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: args + scopes: + - variable.other.unknown.args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5335,6 +5435,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c + scopes: + - variable.other.unknown.c - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5347,6 +5449,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: RETURN_TYPE + scopes: + - variable.other.unknown.RETURN_TYPE - source: '*' scopes: - keyword.operator.arithmetic @@ -6802,6 +6906,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6843,7 +6949,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7264,7 +7372,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7300,7 +7410,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7413,6 +7525,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: args + scopes: + - variable.other.unknown.args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7682,7 +7796,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' thing ' +- source: thing + scopes: + - variable.other.unknown.thing - source: + scopes: - keyword.operator.arithmetic @@ -7731,6 +7847,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: test + scopes: + - variable.other.unknown.test - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7812,6 +7930,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7906,6 +8026,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8563,7 +8685,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8614,7 +8738,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8665,7 +8791,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8695,11 +8823,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qavail ' +- source: qavail + scopes: + - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: + scopes: - keyword.operator.arithmetic @@ -8726,6 +8858,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -8755,6 +8889,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_incomplete + scopes: + - variable.other.unknown.code_escape_sequence_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8797,23 +8933,33 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: ; scopes: - punctuation.terminator.statement @@ -8821,6 +8967,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -8917,6 +9065,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -8935,6 +9085,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -8958,6 +9110,8 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8978,10 +9132,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -8999,6 +9157,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_invalid_hex + scopes: + - variable.other.unknown.code_escape_sequence_invalid_hex - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9045,11 +9205,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9069,11 +9233,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '*' scopes: - keyword.operator.arithmetic @@ -9083,7 +9251,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -9100,7 +9270,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -9165,6 +9337,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9222,7 +9396,9 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9236,7 +9412,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9273,7 +9451,9 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9307,14 +9487,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9326,6 +9512,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_utf_code_point_invalid + scopes: + - variable.other.unknown.code_escape_utf_code_point_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9441,7 +9629,9 @@ - source: '~' scopes: - keyword.operator.bitwise -- source: 'mask ' +- source: mask + scopes: + - variable.other.unknown.mask - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -9466,11 +9656,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' shift' +- source: shift + scopes: + - variable.other.unknown.shift - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9479,7 +9673,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' mask' +- source: mask + scopes: + - variable.other.unknown.mask - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9512,7 +9708,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9575,7 +9773,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9662,7 +9862,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9876,7 +10078,9 @@ scopes: - keyword.control.default - source: ':' -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/misc_001.spec.yaml b/language_examples/misc_001.spec.yaml index dbcbb366..932e3d7d 100644 --- a/language_examples/misc_001.spec.yaml +++ b/language_examples/misc_001.spec.yaml @@ -82,6 +82,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: move + scopes: + - variable.other.unknown.move - source: ; scopes: - punctuation.terminator.statement @@ -96,6 +98,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: vector + scopes: + - variable.other.unknown.vector - source: ; scopes: - punctuation.terminator.statement @@ -110,6 +114,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: hash_combine + scopes: + - variable.other.unknown.hash_combine - source: ; scopes: - punctuation.terminator.statement @@ -129,11 +135,15 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' Rule ' +- source: Rule + scopes: + - variable.other.unknown.Rule - source: '&' scopes: - keyword.operator.bitwise - source: other + scopes: + - variable.other.unknown.other - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -144,7 +154,10 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'Blank{}' +- source: Blank + scopes: + - variable.other.unknown.Blank +- source: '{}' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -158,6 +171,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: BlankType + scopes: + - variable.other.unknown.BlankType - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -175,7 +190,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' other' +- source: other + scopes: + - variable.other.unknown.other - source: ; scopes: - punctuation.terminator.statement @@ -270,6 +287,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: BlankType + scopes: + - variable.other.unknown.BlankType - source: ':' scopes: - punctuation.separator.colon.case @@ -386,7 +405,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -414,6 +435,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: type + scopes: + - variable.other.unknown.type - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -430,7 +453,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' BlankType' +- source: BlankType + scopes: + - variable.other.unknown.BlankType - source: ':' scopes: - punctuation.separator.colon.case @@ -449,6 +474,8 @@ scopes: - keyword.operator.bitwise - source: blank_ + scopes: + - variable.other.unknown.blank_ - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -486,7 +513,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' CharacterSetType' +- source: CharacterSetType + scopes: + - variable.other.unknown.CharacterSetType - source: ':' scopes: - punctuation.separator.colon.case @@ -505,6 +534,8 @@ scopes: - keyword.operator.bitwise - source: charater_set_ + scopes: + - variable.other.unknown.charater_set_ - source: ) scopes: - punctuation.section.parens.end.bracket.round diff --git a/language_examples/misc_005.spec.yaml b/language_examples/misc_005.spec.yaml index d6f79383..adaa2121 100644 --- a/language_examples/misc_005.spec.yaml +++ b/language_examples/misc_005.spec.yaml @@ -2319,11 +2319,15 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' mutex_for_output ' +- source: mutex_for_output + scopes: + - variable.other.unknown.mutex_for_output - source: '=' scopes: - keyword.operator.assignment -- source: ' PTHREAD_MUTEX_INITIALIZER' +- source: PTHREAD_MUTEX_INITIALIZER + scopes: + - variable.other.unknown.PTHREAD_MUTEX_INITIALIZER - source: ; scopes: - punctuation.terminator.statement @@ -2368,7 +2372,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Debugging ' +- source: Debugging + scopes: + - variable.other.unknown.Debugging - source: '=' scopes: - keyword.operator.assignment @@ -2442,13 +2448,17 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' info ' +- source: info scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.other.unknown.info - source: '=' scopes: - keyword.operator.assignment -- source: ' input_error' +- source: input_error + scopes: + - variable.other.unknown.input_error - source: ; scopes: - punctuation.terminator.statement @@ -2534,7 +2544,9 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -2603,7 +2615,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' input_error ' +- source: input_error + scopes: + - variable.other.unknown.input_error - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2660,6 +2674,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_error + scopes: + - variable.other.unknown.input_error - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2684,7 +2700,9 @@ - source: POKE scopes: - entity.name.function.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -2720,7 +2738,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' COUNTER ' +- source: COUNTER + scopes: + - variable.other.unknown.COUNTER - source: '=' scopes: - keyword.operator.assignment @@ -3093,6 +3113,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: used + scopes: + - variable.other.unknown.used - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3187,6 +3209,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable + scopes: + - variable.other.unknown.a_callable - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -3196,7 +3220,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' used ' +- source: used + scopes: + - variable.other.unknown.used - source: '=' scopes: - keyword.operator.assignment @@ -3293,6 +3319,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: args + scopes: + - variable.other.unknown.args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3456,6 +3484,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c + scopes: + - variable.other.unknown.c - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3468,6 +3498,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: RETURN_TYPE + scopes: + - variable.other.unknown.RETURN_TYPE - source: '*' scopes: - keyword.operator.arithmetic @@ -3636,9 +3668,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' output_stream ' +- source: output_stream scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -3670,7 +3704,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -3680,7 +3716,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison @@ -3702,7 +3740,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -3718,7 +3758,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -3731,6 +3773,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -3767,7 +3811,9 @@ - source: return scopes: - keyword.control.return -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -3882,9 +3928,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' input_ ' +- source: input_ scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.input_ - source: '=' scopes: - keyword.operator.assignment @@ -3930,11 +3978,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'input_stream ' +- source: input_stream + scopes: + - variable.other.unknown.input_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' element_holder' +- source: element_holder + scopes: + - variable.other.unknown.element_holder - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3958,6 +4010,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: element_holder + scopes: + - variable.other.unknown.element_holder - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3977,6 +4031,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3991,7 +4047,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'should_always_be_a_newline ' +- source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: '!=' scopes: - keyword.operator.comparison @@ -4023,6 +4081,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream + scopes: + - variable.other.unknown.input_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4037,7 +4097,9 @@ - source: return scopes: - keyword.control.return -- source: ' input_stream' +- source: input_stream + scopes: + - variable.other.unknown.input_stream - source: ; scopes: - punctuation.terminator.statement @@ -4205,7 +4267,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' vec1' +- source: vec1 + scopes: + - variable.other.unknown.vec1 - source: ; scopes: - punctuation.terminator.statement @@ -4280,7 +4344,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' vec2 ' +- source: vec2 + scopes: + - variable.other.unknown.vec2 scopesEnd: - meta.parens.control.for - source: ) @@ -4301,6 +4367,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each + scopes: + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4310,7 +4378,9 @@ - source: return scopes: - keyword.control.return -- source: ' vec3' +- source: vec3 + scopes: + - variable.other.unknown.vec3 - source: ; scopes: - punctuation.terminator.statement @@ -4453,7 +4523,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' vec1' +- source: vec1 + scopes: + - variable.other.unknown.vec1 - source: ; scopes: - punctuation.terminator.statement @@ -4470,6 +4542,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4479,7 +4553,9 @@ - source: return scopes: - keyword.control.return -- source: ' vec2' +- source: vec2 + scopes: + - variable.other.unknown.vec2 - source: ; scopes: - punctuation.terminator.statement @@ -4622,7 +4698,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' vec1' +- source: vec1 + scopes: + - variable.other.unknown.vec1 - source: ; scopes: - punctuation.terminator.statement @@ -4657,6 +4735,8 @@ scopes: - punctuation.separator.delimiter.comma - source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4666,7 +4746,9 @@ - source: return scopes: - keyword.control.return -- source: ' vec2' +- source: vec2 + scopes: + - variable.other.unknown.vec2 - source: ; scopes: - punctuation.terminator.statement @@ -4799,7 +4881,9 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -5001,7 +5085,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input_map ' +- source: input_map + scopes: + - variable.other.unknown.input_map scopesEnd: - meta.parens.control.for - source: ) @@ -5014,11 +5100,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' each ' +- source: each + scopes: + - variable.other.unknown.each - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -5046,7 +5136,9 @@ - source: return scopes: - keyword.control.return -- source: ' output_stream' +- source: output_stream + scopes: + - variable.other.unknown.output_stream - source: ; scopes: - punctuation.terminator.statement @@ -5196,19 +5288,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' input_stream ' +- source: input_stream + scopes: + - variable.other.unknown.input_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' first_value ' +- source: first_value + scopes: + - variable.other.unknown.first_value - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' should_always_be_a_colon ' +- source: should_always_be_a_colon + scopes: + - variable.other.unknown.should_always_be_a_colon - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' second_value' +- source: second_value + scopes: + - variable.other.unknown.second_value - source: ; scopes: - punctuation.terminator.statement @@ -5224,7 +5324,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' second_value' +- source: second_value + scopes: + - variable.other.unknown.second_value - source: ; scopes: - punctuation.terminator.statement @@ -5240,14 +5342,18 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' first_value' +- source: first_value + scopes: + - variable.other.unknown.first_value - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' input_stream' +- source: input_stream + scopes: + - variable.other.unknown.input_stream - source: ; scopes: - punctuation.terminator.statement @@ -5436,11 +5542,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'input_stream ' +- source: input_stream + scopes: + - variable.other.unknown.input_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' pair_holder' +- source: pair_holder + scopes: + - variable.other.unknown.pair_holder - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5501,6 +5611,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -5515,7 +5627,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'should_always_be_a_newline ' +- source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: '!=' scopes: - keyword.operator.comparison @@ -5547,6 +5661,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream + scopes: + - variable.other.unknown.input_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5561,7 +5677,9 @@ - source: return scopes: - keyword.control.return -- source: ' input_stream' +- source: input_stream + scopes: + - variable.other.unknown.input_stream - source: ; scopes: - punctuation.terminator.statement @@ -5595,7 +5713,9 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' INDENT_SIZE ' +- source: INDENT_SIZE + scopes: + - variable.other.unknown.INDENT_SIZE - source: '=' scopes: - keyword.operator.assignment @@ -5605,11 +5725,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' string' +- source: string + scopes: + - variable.other.unknown.string - source: const scopes: - storage.modifier.specifier.const -- source: ' INDENT ' +- source: INDENT + scopes: + - variable.other.unknown.INDENT - source: '=' scopes: - keyword.operator.assignment @@ -5620,6 +5744,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: INDENT_SIZE + scopes: + - variable.other.unknown.INDENT_SIZE - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -5712,11 +5838,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' a_stream ' +- source: a_stream + scopes: + - variable.other.unknown.a_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input_' +- source: input_ + scopes: + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement @@ -5741,7 +5871,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' INDENT' +- source: INDENT + scopes: + - variable.other.unknown.INDENT - source: ; scopes: - punctuation.terminator.statement @@ -5766,6 +5898,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: a_char + scopes: + - variable.other.unknown.a_char - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -5787,7 +5921,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'a_char ' +- source: a_char + scopes: + - variable.other.unknown.a_char - source: '==' scopes: - keyword.operator.comparison @@ -5814,11 +5950,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic @@ -5838,7 +5978,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' INDENT' +- source: INDENT + scopes: + - variable.other.unknown.INDENT - source: ; scopes: - punctuation.terminator.statement @@ -5850,15 +5992,21 @@ - source: else scopes: - keyword.control.else -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic -- source: ' a_char' +- source: a_char + scopes: + - variable.other.unknown.a_char - source: ; scopes: - punctuation.terminator.statement @@ -5870,7 +6018,9 @@ - source: return scopes: - keyword.control.return -- source: ' output_string' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: ; scopes: - punctuation.terminator.statement @@ -5933,6 +6083,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5949,6 +6101,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output + scopes: + - variable.other.unknown.output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6014,6 +6168,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6030,6 +6186,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output + scopes: + - variable.other.unknown.output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6123,12 +6281,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6233,6 +6395,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: char_holder + scopes: + - variable.other.unknown.char_holder - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -6289,12 +6453,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6361,12 +6529,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6391,6 +6563,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: char_holder + scopes: + - variable.other.unknown.char_holder - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6429,7 +6603,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'char_holder ' +- source: char_holder + scopes: + - variable.other.unknown.char_holder - source: '!=' scopes: - keyword.operator.comparison @@ -6462,12 +6638,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6537,10 +6717,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' INDENT' +- source: INDENT + scopes: + - variable.other.unknown.INDENT - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6563,12 +6747,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6598,12 +6786,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6621,7 +6813,9 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' COUNTER ' +- source: COUNTER + scopes: + - variable.other.unknown.COUNTER - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6703,6 +6897,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6794,12 +6990,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6829,12 +7029,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -6862,6 +7066,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: next_line + scopes: + - variable.other.unknown.next_line - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6889,11 +7095,15 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' unindented_stuff ' +- source: unindented_stuff + scopes: + - variable.other.unknown.unindented_stuff - source: += scopes: - keyword.operator.assignment.compound -- source: ' next_line' +- source: next_line + scopes: + - variable.other.unknown.next_line - source: ; scopes: - punctuation.terminator.statement @@ -6905,7 +7115,9 @@ - source: return scopes: - keyword.control.return -- source: ' unindented_stuff' +- source: unindented_stuff + scopes: + - variable.other.unknown.unindented_stuff - source: ; scopes: - punctuation.terminator.statement @@ -7071,7 +7283,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' Pi ' +- source: Pi + scopes: + - variable.other.unknown.Pi - source: '*' scopes: - keyword.operator.arithmetic @@ -7158,6 +7372,8 @@ scopes: - keyword.operator.bitwise - source: a_time + scopes: + - variable.other.unknown.a_time - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7342,7 +7558,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'micro_seconds ' +- source: micro_seconds + scopes: + - variable.other.unknown.micro_seconds - source: < scopes: - keyword.operator.comparison @@ -7359,7 +7577,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' micro_seconds ' +- source: micro_seconds + scopes: + - variable.other.unknown.micro_seconds - source: += scopes: - keyword.operator.assignment.compound @@ -7389,7 +7609,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' seconds' +- source: seconds + scopes: + - variable.other.unknown.seconds - source: '--' scopes: - keyword.operator.decrement @@ -7409,7 +7631,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'seconds ' +- source: seconds + scopes: + - variable.other.unknown.seconds - source: '*' scopes: - keyword.operator.arithmetic @@ -7419,7 +7643,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' micro_seconds' +- source: micro_seconds + scopes: + - variable.other.unknown.micro_seconds - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7552,7 +7778,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'seconds_ ' +- source: seconds_ + scopes: + - variable.other.unknown.seconds_ - source: '*' scopes: - keyword.operator.arithmetic @@ -7750,7 +7978,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' tstruct ' +- source: tstruct + scopes: + - variable.other.unknown.tstruct - source: '=' scopes: - keyword.operator.assignment @@ -7767,6 +7997,8 @@ scopes: - keyword.operator.bitwise - source: now + scopes: + - variable.other.unknown.now - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7792,6 +8024,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: buf + scopes: + - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7805,6 +8039,7 @@ - source: buf scopes: - meta.arguments.operator.sizeof + - variable.other.unknown.buf - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof @@ -7835,6 +8070,8 @@ scopes: - keyword.operator.bitwise - source: tstruct + scopes: + - variable.other.unknown.tstruct - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7844,7 +8081,9 @@ - source: return scopes: - keyword.control.return -- source: ' buf' +- source: buf + scopes: + - variable.other.unknown.buf - source: ; scopes: - punctuation.terminator.statement @@ -8016,7 +8255,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' always_discard ' +- source: always_discard + scopes: + - variable.other.unknown.always_discard - source: '||' scopes: - keyword.operator.logical @@ -8244,7 +8485,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' num_of_chars_discarded ' +- source: num_of_chars_discarded + scopes: + - variable.other.unknown.num_of_chars_discarded - source: '=' scopes: - keyword.operator.assignment @@ -8274,7 +8517,9 @@ - source: return scopes: - keyword.control.return -- source: ' num_of_chars_discarded' +- source: num_of_chars_discarded + scopes: + - variable.other.unknown.num_of_chars_discarded - source: ; scopes: - punctuation.terminator.statement @@ -8304,9 +8549,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -8375,7 +8622,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' cin ' +- source: cin + scopes: + - variable.other.unknown.cin - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8438,10 +8687,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: cin + scopes: + - variable.other.unknown.cin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_data' +- source: input_data + scopes: + - variable.other.unknown.input_data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8451,7 +8704,9 @@ - source: return scopes: - keyword.control.return -- source: ' input_data' +- source: input_data + scopes: + - variable.other.unknown.input_data - source: ; scopes: - punctuation.terminator.statement @@ -8516,10 +8771,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: cin + scopes: + - variable.other.unknown.cin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_string' +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8529,7 +8788,9 @@ - source: return scopes: - keyword.control.return -- source: ' input_string' +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement @@ -8604,10 +8865,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream + scopes: + - variable.other.unknown.input_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_string' +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8617,7 +8882,9 @@ - source: return scopes: - keyword.control.return -- source: ' input_string' +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement @@ -8694,10 +8961,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream + scopes: + - variable.other.unknown.input_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_string' +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8707,7 +8978,9 @@ - source: return scopes: - keyword.control.return -- source: ' input_string' +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement @@ -8763,6 +9036,8 @@ scopes: - keyword.operator.logical - source: cin + scopes: + - variable.other.unknown.cin - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8853,11 +9128,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_of_places ' +- source: number_of_places + scopes: + - variable.other.unknown.number_of_places - source: ; scopes: - punctuation.terminator.statement @@ -8875,7 +9154,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -8885,15 +9166,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -8909,7 +9196,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -8929,7 +9218,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -8946,7 +9237,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -9054,7 +9347,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -9090,7 +9385,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -9100,15 +9397,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -9128,11 +9431,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachChar ' +- source: EachChar + scopes: + - variable.other.unknown.EachChar - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -9160,7 +9467,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -9172,7 +9481,9 @@ - source: '[' scopes: - punctuation.definition.begin.bracket.square -- source: "\_EachChar " +- source: EachChar + scopes: + - variable.other.unknown.EachChar - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -9331,6 +9642,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each_char + scopes: + - variable.other.unknown.each_char - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9339,11 +9652,15 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' each_char' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: ; scopes: - punctuation.terminator.statement @@ -9378,7 +9695,9 @@ - source: return scopes: - keyword.control.return -- source: ' output_str' +- source: output_str + scopes: + - variable.other.unknown.output_str - source: ; scopes: - punctuation.terminator.statement @@ -9470,7 +9789,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9494,7 +9815,9 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9551,7 +9874,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9575,7 +9900,9 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9632,7 +9959,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9656,7 +9985,9 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9713,7 +10044,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9737,7 +10070,9 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -9761,7 +10096,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -9848,6 +10185,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: failbit + scopes: + - variable.other.unknown.failbit - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9857,7 +10196,9 @@ - source: return scopes: - keyword.control.return -- source: ' input_stream' +- source: input_stream + scopes: + - variable.other.unknown.input_stream - source: ; scopes: - punctuation.terminator.statement @@ -10162,7 +10503,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -10198,7 +10541,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -10208,15 +10553,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -10269,6 +10620,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: char_ + scopes: + - variable.other.unknown.char_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10307,7 +10660,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' char_ ' +- source: char_ + scopes: + - variable.other.unknown.char_ - source: '!=' scopes: - keyword.operator.comparison @@ -10320,6 +10675,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -10458,6 +10815,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: char_ + scopes: + - variable.other.unknown.char_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10471,15 +10830,21 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: + scopes: - keyword.operator.arithmetic -- source: ' char_ ' +- source: char_ + scopes: + - variable.other.unknown.char_ - source: ; scopes: - punctuation.terminator.statement @@ -10491,11 +10856,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'char_ ' +- source: char_ + scopes: + - variable.other.unknown.char_ - source: '==' scopes: - keyword.operator.comparison -- source: ' end_symbol' +- source: end_symbol + scopes: + - variable.other.unknown.end_symbol - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10504,7 +10873,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -10516,7 +10887,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -10602,6 +10975,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: char_ + scopes: + - variable.other.unknown.char_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10615,15 +10990,21 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: + scopes: - keyword.operator.arithmetic -- source: ' char_ ' +- source: char_ + scopes: + - variable.other.unknown.char_ - source: ; scopes: - punctuation.terminator.statement @@ -10635,11 +11016,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'char_ ' +- source: char_ + scopes: + - variable.other.unknown.char_ - source: '==' scopes: - keyword.operator.comparison -- source: ' end_symbol' +- source: end_symbol + scopes: + - variable.other.unknown.end_symbol - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10648,7 +11033,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -10660,7 +11047,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -10757,6 +11146,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: conv_my_str + scopes: + - variable.other.unknown.conv_my_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10825,7 +11216,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' the_file_stream ' +- source: the_file_stream + scopes: + - variable.other.unknown.the_file_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -10869,7 +11262,9 @@ - source: ' press enter to exit' scopesEnd: - comment.line.double-slash -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -10958,9 +11353,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -10978,7 +11375,9 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' id_ ' +- source: id_ + scopes: + - variable.other.unknown.id_ - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -11115,7 +11514,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -11125,15 +11526,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' repetitions' +- source: repetitions + scopes: + - variable.other.unknown.repetitions - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -11144,18 +11551,24 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' result ' +- source: result + scopes: + - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound -- source: ' base' +- source: base + scopes: + - variable.other.unknown.base - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -11254,7 +11667,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -11264,15 +11679,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' repetitions' +- source: repetitions + scopes: + - variable.other.unknown.repetitions - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -11283,18 +11704,24 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' result ' +- source: result + scopes: + - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound -- source: ' base' +- source: base + scopes: + - variable.other.unknown.base - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -11369,7 +11796,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.other.unknown.start - source: < scopes: - keyword.operator.comparison @@ -11381,7 +11810,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment @@ -11403,7 +11834,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement @@ -11418,7 +11851,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison @@ -11442,7 +11877,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment @@ -11472,7 +11909,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: < scopes: - keyword.operator.comparison @@ -11484,7 +11923,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment @@ -11506,7 +11947,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' finish' +- source: finish + scopes: + - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement @@ -11521,7 +11964,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: '>' scopes: - keyword.operator.comparison @@ -11545,7 +11990,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment @@ -11575,11 +12022,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison -- source: ' finish' +- source: finish + scopes: + - variable.other.unknown.finish - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11601,23 +12052,33 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement -- source: ' start ' +- source: start + scopes: + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment -- source: ' finish' +- source: finish + scopes: + - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement -- source: ' finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment -- source: ' swap' +- source: swap + scopes: + - variable.other.unknown.swap - source: ; scopes: - punctuation.terminator.statement @@ -11642,14 +12103,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: start + scopes: + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: '-' scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11715,10 +12182,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11829,7 +12300,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -11839,7 +12312,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison @@ -11867,7 +12342,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -11878,7 +12355,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' result ' +- source: result + scopes: + - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound @@ -11891,6 +12370,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11899,11 +12380,15 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' delimiter' +- source: delimiter + scopes: + - variable.other.unknown.delimiter - source: ; scopes: - punctuation.terminator.statement -- source: ' result ' +- source: result + scopes: + - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound @@ -11947,7 +12432,9 @@ - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -12024,6 +12511,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12039,7 +12528,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' delimiter' +- source: delimiter + scopes: + - variable.other.unknown.delimiter - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -12141,7 +12632,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'index ' +- source: index + scopes: + - variable.other.unknown.index - source: <= scopes: - keyword.operator.comparison @@ -12209,6 +12702,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12233,7 +12728,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' oldstring' +- source: oldstring + scopes: + - variable.other.unknown.oldstring - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12244,15 +12741,21 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' current ' +- source: current + scopes: + - variable.other.unknown.current - source: += scopes: - keyword.operator.assignment.compound -- source: ' newstring' +- source: newstring + scopes: + - variable.other.unknown.newstring - source: ; scopes: - punctuation.terminator.statement -- source: ' index ' +- source: index + scopes: + - variable.other.unknown.index - source: += scopes: - keyword.operator.assignment.compound @@ -12285,7 +12788,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' current ' +- source: current + scopes: + - variable.other.unknown.current - source: += scopes: - keyword.operator.assignment.compound @@ -12298,6 +12803,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: index + scopes: + - variable.other.unknown.index - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -12306,7 +12813,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -12321,7 +12830,9 @@ - source: return scopes: - keyword.control.return -- source: ' current' +- source: current + scopes: + - variable.other.unknown.current - source: ; scopes: - punctuation.terminator.statement @@ -12393,6 +12904,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12408,14 +12921,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' oldstring' +- source: oldstring + scopes: + - variable.other.unknown.oldstring - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' newstring' +- source: newstring + scopes: + - variable.other.unknown.newstring - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12490,10 +13007,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' oldstring' +- source: oldstring + scopes: + - variable.other.unknown.oldstring - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12509,7 +13030,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' newstring' +- source: newstring + scopes: + - variable.other.unknown.newstring - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -12588,6 +13111,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12603,7 +13128,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' oldstring' +- source: oldstring + scopes: + - variable.other.unknown.oldstring - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12622,7 +13149,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' newstring' +- source: newstring + scopes: + - variable.other.unknown.newstring - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -12690,10 +13219,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' oldstring' +- source: oldstring + scopes: + - variable.other.unknown.oldstring - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12772,6 +13305,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12787,7 +13322,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' oldstring' +- source: oldstring + scopes: + - variable.other.unknown.oldstring - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12975,13 +13512,17 @@ scopes: - keyword.operator.increment - source: num_front + scopes: + - variable.other.unknown.num_front - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '==' scopes: - keyword.operator.comparison -- source: ' junk' +- source: junk + scopes: + - variable.other.unknown.junk - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13050,13 +13591,17 @@ scopes: - keyword.operator.decrement - source: num_end + scopes: + - variable.other.unknown.num_end - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '==' scopes: - keyword.operator.comparison -- source: ' junk' +- source: junk + scopes: + - variable.other.unknown.junk - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13088,6 +13633,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: num_front + scopes: + - variable.other.unknown.num_front - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13097,11 +13644,15 @@ - source: + scopes: - keyword.operator.arithmetic -- source: 'num_end ' +- source: num_end + scopes: + - variable.other.unknown.num_end - source: '-' scopes: - keyword.operator.arithmetic -- source: ' num_front' +- source: num_front + scopes: + - variable.other.unknown.num_front - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -13200,7 +13751,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input scopesEnd: - meta.parens.control.for - source: ) @@ -13236,10 +13789,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' included_characters' +- source: included_characters + scopes: + - variable.other.unknown.included_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13274,6 +13831,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each + scopes: + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -13312,7 +13871,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -13425,7 +13986,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input scopesEnd: - meta.parens.control.for - source: ) @@ -13461,10 +14024,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' included_characters' +- source: included_characters + scopes: + - variable.other.unknown.included_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13482,6 +14049,8 @@ scopes: - keyword.operator.increment - source: number_of_char_to_ignore + scopes: + - variable.other.unknown.number_of_char_to_ignore - source: ; scopes: - punctuation.terminator.statement @@ -13514,7 +14083,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -13531,6 +14102,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: number_of_char_to_ignore + scopes: + - variable.other.unknown.number_of_char_to_ignore - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13564,7 +14137,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -13686,7 +14261,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' input ' +- source: input + scopes: + - variable.other.unknown.input - source: '=' scopes: - keyword.operator.assignment @@ -13697,10 +14274,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' splitter' +- source: splitter + scopes: + - variable.other.unknown.splitter - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13772,7 +14353,9 @@ - source: ++ scopes: - keyword.operator.increment -- source: 'char_index ' +- source: char_index + scopes: + - variable.other.unknown.char_index - source: < scopes: - keyword.operator.comparison @@ -13825,6 +14408,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: char_index + scopes: + - variable.other.unknown.char_index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -13839,11 +14424,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'current_character ' +- source: current_character + scopes: + - variable.other.unknown.current_character - source: '==' scopes: - keyword.operator.comparison -- source: ' splitter' +- source: splitter + scopes: + - variable.other.unknown.splitter - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13866,7 +14455,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.not -- source: ' prev_char_was_splitter' +- source: prev_char_was_splitter + scopes: + - variable.other.unknown.prev_char_was_splitter - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13909,6 +14500,8 @@ scopes: - keyword.operator.increment - source: chunk_index + scopes: + - variable.other.unknown.chunk_index - source: ; scopes: - punctuation.terminator.statement @@ -13917,7 +14510,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' prev_char_was_splitter ' +- source: prev_char_was_splitter + scopes: + - variable.other.unknown.prev_char_was_splitter - source: '=' scopes: - keyword.operator.assignment @@ -13946,7 +14541,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' prev_char_was_splitter ' +- source: prev_char_was_splitter + scopes: + - variable.other.unknown.prev_char_was_splitter - source: '=' scopes: - keyword.operator.assignment @@ -13969,6 +14566,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: chunk_index + scopes: + - variable.other.unknown.chunk_index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -13982,6 +14581,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: current_character + scopes: + - variable.other.unknown.current_character - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -14001,7 +14602,9 @@ - source: return scopes: - keyword.control.return -- source: ' chunks' +- source: chunks + scopes: + - variable.other.unknown.chunks - source: ; scopes: - punctuation.terminator.statement @@ -14102,11 +14705,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement @@ -14156,11 +14763,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stream2 ' +- source: stream2 + scopes: + - variable.other.unknown.stream2 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' base_anytype' +- source: base_anytype + scopes: + - variable.other.unknown.base_anytype - source: ; scopes: - punctuation.terminator.statement @@ -14217,7 +14828,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'index ' +- source: index + scopes: + - variable.other.unknown.index - source: + scopes: - keyword.operator.arithmetic @@ -14285,6 +14898,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14309,7 +14924,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14318,11 +14935,15 @@ - source: return scopes: - keyword.control.return -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -14443,11 +15064,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement @@ -14497,11 +15122,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stream2 ' +- source: stream2 + scopes: + - variable.other.unknown.stream2 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' base_anytype' +- source: base_anytype + scopes: + - variable.other.unknown.base_anytype - source: ; scopes: - punctuation.terminator.statement @@ -14589,6 +15218,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: index + scopes: + - variable.other.unknown.index - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14620,6 +15251,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14644,7 +15277,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14653,11 +15288,15 @@ - source: return scopes: - keyword.control.return -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: '--' scopes: - keyword.operator.decrement @@ -14783,11 +15422,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement @@ -14870,7 +15513,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'index ' +- source: index + scopes: + - variable.other.unknown.index - source: + scopes: - keyword.operator.arithmetic @@ -14938,6 +15583,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14962,7 +15609,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14981,13 +15630,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.other.unknown.index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -15002,7 +15655,9 @@ - source: return scopes: - keyword.control.return -- source: ' indices' +- source: indices + scopes: + - variable.other.unknown.indices - source: ; scopes: - punctuation.terminator.statement @@ -15094,11 +15749,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement @@ -15145,10 +15804,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: target + scopes: + - variable.other.unknown.target - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' base' +- source: base + scopes: + - variable.other.unknown.base - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15257,11 +15920,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement @@ -15386,7 +16053,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15492,11 +16161,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' stream1 ' +- source: stream1 + scopes: + - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' target_anytype' +- source: target_anytype + scopes: + - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement @@ -15633,7 +16306,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15739,6 +16414,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15774,7 +16451,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' position ' +- source: position + scopes: + - variable.other.unknown.position - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -15885,10 +16564,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: attempt_filename + scopes: + - variable.other.unknown.attempt_filename - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' is_not_obnoxious' +- source: is_not_obnoxious + scopes: + - variable.other.unknown.is_not_obnoxious - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15955,11 +16638,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' char_stream ' +- source: char_stream + scopes: + - variable.other.unknown.char_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -16028,6 +16715,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each_char + scopes: + - variable.other.unknown.each_char - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -16057,7 +16746,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16081,7 +16772,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' space_counter' +- source: space_counter + scopes: + - variable.other.unknown.space_counter - source: ++ scopes: - keyword.operator.increment @@ -16134,7 +16827,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16161,6 +16856,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: space_counter + scopes: + - variable.other.unknown.space_counter - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16181,7 +16878,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' space_counter ' +- source: space_counter + scopes: + - variable.other.unknown.space_counter - source: '=' scopes: - keyword.operator.assignment @@ -16220,7 +16919,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16247,7 +16948,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' newline_counter' +- source: newline_counter + scopes: + - variable.other.unknown.newline_counter - source: ++ scopes: - keyword.operator.increment @@ -16303,7 +17006,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16330,6 +17035,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: newline_counter + scopes: + - variable.other.unknown.newline_counter - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16353,7 +17060,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' newline_counter ' +- source: newline_counter + scopes: + - variable.other.unknown.newline_counter - source: '=' scopes: - keyword.operator.assignment @@ -16392,7 +17101,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16414,7 +17125,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16448,7 +17161,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16470,7 +17185,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16502,7 +17219,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16524,7 +17243,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16556,7 +17277,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16578,7 +17301,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16610,7 +17335,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16632,7 +17359,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16664,7 +17393,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -16686,7 +17417,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound @@ -16710,11 +17443,15 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound -- source: ' each_char' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: ; scopes: - punctuation.terminator.statement @@ -16726,7 +17463,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -16780,11 +17519,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -16826,6 +17569,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_str + scopes: + - variable.other.unknown.output_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16880,7 +17625,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -16916,7 +17663,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -16926,15 +17675,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -16954,11 +17709,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachChar ' +- source: EachChar + scopes: + - variable.other.unknown.EachChar - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -16995,6 +17754,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: EachChar + scopes: + - variable.other.unknown.EachChar - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -17096,6 +17857,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -17176,7 +17939,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input_string' +- source: input_string + scopes: + - variable.other.unknown.input_string scopesEnd: - meta.parens.control.for - source: ) @@ -17197,11 +17962,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each ' +- source: each + scopes: + - variable.other.unknown.each - source: '==' scopes: - keyword.operator.comparison -- source: ' test_val' +- source: test_val + scopes: + - variable.other.unknown.test_val - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17580,7 +18349,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content scopesEnd: - meta.parens.control.for - source: ) @@ -17593,7 +18364,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -17663,7 +18436,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'context ' +- source: context + scopes: + - variable.other.unknown.context - source: '==' scopes: - keyword.operator.comparison @@ -17710,10 +18485,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' end_characters' +- source: end_characters + scopes: + - variable.other.unknown.end_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17735,7 +18514,9 @@ - source: ' dont count the final character' scopesEnd: - comment.line.double-slash -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: '--' scopes: - keyword.operator.decrement @@ -17779,10 +18560,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ignore_characters' +- source: ignore_characters + scopes: + - variable.other.unknown.ignore_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17867,7 +18652,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'previous_char_as_string ' +- source: previous_char_as_string + scopes: + - variable.other.unknown.previous_char_as_string - source: '==' scopes: - keyword.operator.comparison @@ -17912,7 +18699,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.not -- source: ' is_first_arg ' +- source: is_first_arg + scopes: + - variable.other.unknown.is_first_arg - source: and scopes: - keyword.operator.wordlike @@ -17960,7 +18749,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ignore_characters' +- source: ignore_characters + scopes: + - variable.other.unknown.ignore_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17975,12 +18766,16 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'is_first_arg ' +- source: is_first_arg + scopes: + - variable.other.unknown.is_first_arg - source: or scopes: - keyword.operator.wordlike - keyword.operator.or -- source: ' is_new_arg' +- source: is_new_arg + scopes: + - variable.other.unknown.is_new_arg - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18091,6 +18886,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each + scopes: + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -18129,10 +18926,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' encapsulate_characters' +- source: encapsulate_characters + scopes: + - variable.other.unknown.encapsulate_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18165,6 +18966,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18216,7 +19019,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' encapsulating_pairs' +- source: encapsulating_pairs + scopes: + - variable.other.unknown.encapsulating_pairs scopesEnd: - meta.parens.control.for - source: ) @@ -18252,6 +19057,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18424,6 +19231,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: each + scopes: + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -18453,10 +19262,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18512,7 +19325,9 @@ - source: ':' scopes: - punctuation.separator.label -- source: ' previous_char_as_string ' +- source: previous_char_as_string + scopes: + - variable.other.unknown.previous_char_as_string - source: '=' scopes: - keyword.operator.assignment @@ -18523,6 +19338,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18542,7 +19359,9 @@ - source: ' remove the parsed part' scopesEnd: - comment.line.double-slash -- source: ' content ' +- source: content + scopes: + - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment @@ -18559,6 +19378,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18592,7 +19413,9 @@ - source: return scopes: - keyword.control.return -- source: ' arguments' +- source: arguments + scopes: + - variable.other.unknown.arguments - source: ; scopes: - punctuation.terminator.statement @@ -18697,6 +19520,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18787,6 +19612,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18849,7 +19676,9 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' input_number ' +- source: input_number + scopes: + - variable.other.unknown.input_number - source: + scopes: - keyword.operator.arithmetic @@ -18909,7 +19738,9 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' input_number ' +- source: input_number + scopes: + - variable.other.unknown.input_number - source: + scopes: - keyword.operator.arithmetic @@ -19044,7 +19875,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'increment ' +- source: increment + scopes: + - variable.other.unknown.increment - source: '>' scopes: - keyword.operator.comparison @@ -19075,27 +19908,39 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' lower' +- source: lower + scopes: + - variable.other.unknown.lower - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' upper' +- source: upper + scopes: + - variable.other.unknown.upper - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: += scopes: - keyword.operator.assignment.compound -- source: ' increment' +- source: increment + scopes: + - variable.other.unknown.increment scopesEnd: - meta.parens.control.for - source: ) @@ -19121,6 +19966,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19159,27 +20006,39 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' lower' +- source: lower + scopes: + - variable.other.unknown.lower - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '>' scopes: - keyword.operator.comparison -- source: ' upper' +- source: upper + scopes: + - variable.other.unknown.upper - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: += scopes: - keyword.operator.assignment.compound -- source: ' increment' +- source: increment + scopes: + - variable.other.unknown.increment scopesEnd: - meta.parens.control.for - source: ) @@ -19205,6 +20064,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19224,7 +20085,9 @@ - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -19304,6 +20167,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: lower + scopes: + - variable.other.unknown.lower - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -19313,7 +20178,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' upper' +- source: upper + scopes: + - variable.other.unknown.upper - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19397,7 +20264,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' upper' +- source: upper + scopes: + - variable.other.unknown.upper - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19698,7 +20567,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -19749,12 +20620,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -19800,7 +20675,9 @@ - source: else scopes: - keyword.control.else -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -19846,7 +20723,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -19946,6 +20825,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19981,6 +20862,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20012,6 +20895,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20034,7 +20919,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -20063,6 +20950,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20085,7 +20974,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -20108,7 +20999,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' input ' +- source: input + scopes: + - variable.other.unknown.input - source: '=' scopes: - keyword.operator.assignment @@ -20129,7 +21022,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -20152,7 +21047,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' input ' +- source: input + scopes: + - variable.other.unknown.input - source: '=' scopes: - keyword.operator.assignment @@ -20183,6 +21080,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20200,7 +21099,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -20283,7 +21184,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -20325,7 +21228,9 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -20336,6 +21241,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_char + scopes: + - variable.other.unknown.input_char - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20361,7 +21268,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -20430,7 +21339,9 @@ - source: ' reset the char' scopesEnd: - comment.line.double-slash -- source: ' input_char ' +- source: input_char + scopes: + - variable.other.unknown.input_char - source: '=' scopes: - keyword.operator.assignment @@ -20489,6 +21400,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20524,6 +21437,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20555,6 +21470,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20577,7 +21494,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'char_content ' +- source: char_content + scopes: + - variable.other.unknown.char_content - source: '==' scopes: - keyword.operator.comparison @@ -20606,6 +21525,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20704,7 +21625,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' input_char ' +- source: input_char + scopes: + - variable.other.unknown.input_char - source: '=' scopes: - keyword.operator.assignment @@ -20740,6 +21663,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20764,6 +21689,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20781,7 +21708,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -20864,7 +21793,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -20906,7 +21837,9 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -20917,6 +21850,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20942,7 +21877,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -21042,6 +21979,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21077,6 +22016,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21108,6 +22049,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21130,7 +22073,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -21159,6 +22104,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21183,11 +22130,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement @@ -21202,11 +22153,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -21223,6 +22178,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -21252,6 +22209,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21270,6 +22229,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21287,7 +22248,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -21370,7 +22333,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -21422,7 +22387,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -21441,7 +22408,9 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -21453,7 +22422,9 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -21503,7 +22474,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -21603,6 +22576,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21638,6 +22613,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21669,6 +22646,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21691,7 +22670,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -21720,6 +22701,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21744,11 +22727,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement @@ -21763,11 +22750,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -21784,6 +22775,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -21813,6 +22806,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21831,6 +22826,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21848,7 +22845,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -21935,7 +22934,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -21987,7 +22988,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -22006,7 +23009,9 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -22018,7 +23023,9 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -22068,7 +23075,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -22172,6 +23181,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22207,6 +23218,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22238,6 +23251,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22260,7 +23275,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -22289,6 +23306,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22313,11 +23332,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement @@ -22332,11 +23355,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' content_as_stream ' +- source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -22353,6 +23380,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -22382,6 +23411,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: content_as_stream + scopes: + - variable.other.unknown.content_as_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22400,6 +23431,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22417,7 +23450,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -22499,7 +23534,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -22541,7 +23578,9 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -22552,6 +23591,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22577,7 +23618,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -22676,6 +23719,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22711,6 +23756,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22742,6 +23789,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22764,7 +23813,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -22793,6 +23844,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22880,6 +23933,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22894,7 +23949,9 @@ - source: ' try to input data' scopesEnd: - comment.line.double-slash -- source: ' input ' +- source: input + scopes: + - variable.other.unknown.input - source: '=' scopes: - keyword.operator.assignment @@ -22954,7 +24011,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -23043,7 +24102,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -23085,7 +24146,9 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -23096,6 +24159,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23121,7 +24186,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -23222,7 +24289,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -23264,7 +24333,9 @@ - source: ' each data member in_ class' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -23275,6 +24346,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23300,7 +24373,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -23421,6 +24496,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23456,6 +24533,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23487,6 +24566,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23509,7 +24590,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -23538,6 +24621,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23625,6 +24710,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23649,7 +24736,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -23698,11 +24787,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -23729,6 +24822,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23747,6 +24842,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23764,7 +24861,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -23860,10 +24959,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23900,7 +25003,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_stream' +- source: data_stream + scopes: + - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23932,6 +25037,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23946,7 +25053,9 @@ - source: ' remove the closing newline' scopesEnd: - comment.line.double-slash -- source: ' content ' +- source: content + scopes: + - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment @@ -23998,7 +25107,9 @@ - source: return scopes: - keyword.control.return -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement @@ -24086,10 +25197,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24136,7 +25251,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_stream' +- source: data_stream + scopes: + - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24151,7 +25268,9 @@ - source: ' remove the closing newline' scopesEnd: - comment.line.double-slash -- source: ' name ' +- source: name + scopes: + - variable.other.unknown.name - source: '=' scopes: - keyword.operator.assignment @@ -24203,7 +25322,9 @@ - source: return scopes: - keyword.control.return -- source: ' name' +- source: name + scopes: + - variable.other.unknown.name - source: ; scopes: - punctuation.terminator.statement @@ -24298,11 +25419,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -24396,7 +25521,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'input ' +- source: input + scopes: + - variable.other.unknown.input - source: '==' scopes: - keyword.operator.comparison @@ -24408,7 +25535,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -24429,7 +25558,9 @@ - source: else scopes: - keyword.control.else -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -24450,7 +25581,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -24515,6 +25648,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24582,6 +25717,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24649,6 +25786,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24708,7 +25847,9 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -24773,11 +25914,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' fixed ' +- source: fixed + scopes: + - variable.other.unknown.fixed - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -24796,7 +25941,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -24814,11 +25961,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -24884,19 +26035,30 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: stringstream output +- source: stringstream + scopes: + - variable.other.unknown.stringstream +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' ARGS' +- source: ARGS + scopes: + - variable.other.unknown.ARGS - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -24981,9 +26143,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -24994,6 +26158,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25010,6 +26176,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25064,13 +26232,17 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' question_ ' +- source: question_ + scopes: + - variable.other.unknown.question_ - source: ; scopes: - punctuation.terminator.statement @@ -25104,10 +26276,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: cin + scopes: + - variable.other.unknown.cin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' Answer' +- source: Answer + scopes: + - variable.other.unknown.Answer - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25117,7 +26293,9 @@ - source: return scopes: - keyword.control.return -- source: ' Answer' +- source: Answer + scopes: + - variable.other.unknown.Answer - source: ; scopes: - punctuation.terminator.statement @@ -25266,7 +26444,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.other.unknown.answer_ - source: '=' scopes: - keyword.operator.assignment @@ -25277,6 +26457,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ + scopes: + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25306,10 +26488,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ + scopes: + - variable.other.unknown.answer_ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' is_it_an_int' +- source: is_it_an_int + scopes: + - variable.other.unknown.is_it_an_int - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25328,13 +26514,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ + scopes: + - variable.other.unknown.answer_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -25534,7 +26724,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.other.unknown.answer_ - source: '=' scopes: - keyword.operator.assignment @@ -25545,6 +26737,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ + scopes: + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25574,10 +26768,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ + scopes: + - variable.other.unknown.answer_ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' is_it_a_number' +- source: is_it_a_number + scopes: + - variable.other.unknown.is_it_a_number - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25596,13 +26794,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ + scopes: + - variable.other.unknown.answer_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -25722,7 +26924,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' question_ ' +- source: question_ + scopes: + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25760,6 +26964,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: smallest + scopes: + - variable.other.unknown.smallest - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25787,6 +26993,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: largest + scopes: + - variable.other.unknown.largest - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25851,11 +27059,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'integer_ ' +- source: integer_ + scopes: + - variable.other.unknown.integer_ - source: '>=' scopes: - keyword.operator.comparison -- source: ' smallest' +- source: smallest + scopes: + - variable.other.unknown.smallest - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -25869,11 +27081,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'integer_ ' +- source: integer_ + scopes: + - variable.other.unknown.integer_ - source: <= scopes: - keyword.operator.comparison -- source: ' largest' +- source: largest + scopes: + - variable.other.unknown.largest - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -25900,7 +27116,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' integer_ ' +- source: integer_ + scopes: + - variable.other.unknown.integer_ - source: '=' scopes: - keyword.operator.assignment @@ -25910,7 +27128,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' internal_question ' +- source: internal_question + scopes: + - variable.other.unknown.internal_question - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -25925,7 +27145,9 @@ - source: return scopes: - keyword.control.return -- source: ' integer_' +- source: integer_ + scopes: + - variable.other.unknown.integer_ - source: ; scopes: - punctuation.terminator.statement @@ -26006,7 +27228,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' question_ ' +- source: question_ + scopes: + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26044,6 +27268,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: smallest + scopes: + - variable.other.unknown.smallest - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26071,6 +27297,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: largest + scopes: + - variable.other.unknown.largest - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26135,11 +27363,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '>=' scopes: - keyword.operator.comparison -- source: ' smallest' +- source: smallest + scopes: + - variable.other.unknown.smallest - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -26153,11 +27385,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: <= scopes: - keyword.operator.comparison -- source: ' largest' +- source: largest + scopes: + - variable.other.unknown.largest - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -26184,7 +27420,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '=' scopes: - keyword.operator.assignment @@ -26194,7 +27432,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' internal_question ' +- source: internal_question + scopes: + - variable.other.unknown.internal_question - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26209,7 +27449,9 @@ - source: return scopes: - keyword.control.return -- source: ' number_' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -26299,6 +27541,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ + scopes: + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26318,7 +27562,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -26336,7 +27582,9 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -26354,7 +27602,9 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -26372,7 +27622,9 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -26432,7 +27684,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -26450,7 +27704,9 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -26468,7 +27724,9 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -26486,7 +27744,9 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' answer_ ' +- source: answer_ + scopes: + - variable.other.unknown.answer_ - source: '==' scopes: - keyword.operator.comparison @@ -26530,7 +27790,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -26564,7 +27826,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -26679,7 +27943,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' question_ ' +- source: question_ + scopes: + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26701,6 +27967,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_name + scopes: + - variable.other.unknown.file_name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26717,7 +27985,9 @@ - source: return scopes: - keyword.control.return -- source: ' file_name' +- source: file_name + scopes: + - variable.other.unknown.file_name - source: ; scopes: - punctuation.terminator.statement @@ -26734,7 +28004,9 @@ - source: ' else ' scopesEnd: - comment.line.double-slash -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -26836,7 +28108,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' question_ ' +- source: question_ + scopes: + - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26854,6 +28128,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: name_ + scopes: + - variable.other.unknown.name_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26888,6 +28164,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: the_file + scopes: + - variable.other.unknown.the_file - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -26906,7 +28184,9 @@ - source: return scopes: - keyword.control.return -- source: ' the_file' +- source: the_file + scopes: + - variable.other.unknown.the_file - source: ; scopes: - punctuation.terminator.statement @@ -26915,7 +28195,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -27031,6 +28313,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27044,10 +28328,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_file_stream + scopes: + - variable.other.unknown.the_file_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_to_save' +- source: data_to_save + scopes: + - variable.other.unknown.data_to_save - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27157,6 +28445,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27170,10 +28460,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_file_stream + scopes: + - variable.other.unknown.the_file_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_to_load' +- source: data_to_load + scopes: + - variable.other.unknown.data_to_load - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27258,17 +28552,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' the_file_stream ' +- source: the_file_stream + scopes: + - variable.other.unknown.the_file_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement @@ -27340,6 +28640,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27384,6 +28686,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_file + scopes: + - variable.other.unknown.the_file - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27447,7 +28751,9 @@ - source: return scopes: - keyword.control.return -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement @@ -27501,6 +28807,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27535,6 +28843,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: the_file + scopes: + - variable.other.unknown.the_file - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -27560,6 +28870,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location + scopes: + - variable.other.unknown.file_location - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27720,6 +29032,8 @@ scopes: - keyword.operator.comparison - source: function + scopes: + - variable.other.unknown.function - source: < scopes: - keyword.operator.comparison @@ -27755,6 +29069,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -28267,9 +29583,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' use_lambda ' +- source: use_lambda scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.other.unknown.use_lambda - source: '=' scopes: - keyword.operator.assignment @@ -28279,19 +29597,27 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' lambda_thread_function ' +- source: lambda_thread_function + scopes: + - variable.other.unknown.lambda_thread_function - source: '=' scopes: - keyword.operator.assignment -- source: ' input_function' +- source: input_function + scopes: + - variable.other.unknown.input_function - source: ; scopes: - punctuation.terminator.statement -- source: ' arguments ' +- source: arguments + scopes: + - variable.other.unknown.arguments - source: '=' scopes: - keyword.operator.assignment -- source: ' input_arguments' +- source: input_arguments + scopes: + - variable.other.unknown.input_arguments - source: ; scopes: - punctuation.terminator.statement @@ -28357,13 +29683,17 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' thread_function ' +- source: thread_function scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.other.unknown.thread_function - source: '=' scopes: - keyword.operator.assignment -- source: ' input_function' +- source: input_function + scopes: + - variable.other.unknown.input_function - source: ; scopes: - punctuation.terminator.statement @@ -28438,17 +29768,23 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' thread_function ' +- source: thread_function scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.other.unknown.thread_function - source: '=' scopes: - keyword.operator.assignment -- source: ' input_function' +- source: input_function + scopes: + - variable.other.unknown.input_function - source: ; scopes: - punctuation.terminator.statement -- source: ' arguments ' +- source: arguments + scopes: + - variable.other.unknown.arguments - source: '=' scopes: - keyword.operator.assignment @@ -28459,6 +29795,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_arguments + scopes: + - variable.other.unknown.input_arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -28545,7 +29883,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'has_been_waited_on ' +- source: has_been_waited_on + scopes: + - variable.other.unknown.has_been_waited_on - source: '==' scopes: - keyword.operator.comparison @@ -28562,7 +29902,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -28602,7 +29944,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -28623,7 +29967,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -28665,7 +30011,9 @@ - source: ' if the task wasnt running before, it is now' scopesEnd: - comment.line.double-slash -- source: ' has_been_waited_on ' +- source: has_been_waited_on + scopes: + - variable.other.unknown.has_been_waited_on - source: '=' scopes: - keyword.operator.assignment @@ -28675,7 +30023,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' functional_wrapper ' +- source: functional_wrapper + scopes: + - variable.other.unknown.functional_wrapper - source: '=' scopes: - keyword.operator.assignment @@ -28760,6 +30110,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: use_lambda + scopes: + - variable.other.unknown.use_lambda - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -28770,7 +30122,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -28781,6 +30135,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments + scopes: + - variable.other.unknown.arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -28800,7 +30156,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -28811,6 +30169,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments + scopes: + - variable.other.unknown.arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -28822,7 +30182,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' has_been_waited_on ' +- source: has_been_waited_on + scopes: + - variable.other.unknown.has_been_waited_on - source: '=' scopes: - keyword.operator.assignment @@ -28877,14 +30239,20 @@ scopes: - keyword.operator.bitwise - source: thread + scopes: + - variable.other.unknown.thread - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' attributes' +- source: attributes + scopes: + - variable.other.unknown.attributes - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' thread_stub' +- source: thread_stub + scopes: + - variable.other.unknown.thread_stub - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -28892,6 +30260,8 @@ scopes: - keyword.operator.bitwise - source: functional_wrapper + scopes: + - variable.other.unknown.functional_wrapper - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -28939,6 +30309,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: thread + scopes: + - variable.other.unknown.thread - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -28959,7 +30331,9 @@ - source: ' this task is no longer running' scopesEnd: - comment.line.double-slash -- source: ' has_been_waited_on ' +- source: has_been_waited_on + scopes: + - variable.other.unknown.has_been_waited_on - source: '=' scopes: - keyword.operator.assignment @@ -28980,7 +30354,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -29004,7 +30380,9 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' __dummy_thread' +- source: __dummy_thread + scopes: + - variable.other.unknown.__dummy_thread - source: ; scopes: - punctuation.terminator.statement @@ -29238,6 +30616,7 @@ - source: __dummy_thread scopes: - meta.parameter.initialization + - variable.other.unknown.__dummy_thread - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -29313,6 +30692,7 @@ - source: __dummy_thread scopes: - meta.parameter.initialization + - variable.other.unknown.__dummy_thread - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -29322,13 +30702,17 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' ptr_to_original ' +- source: ptr_to_original scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.other.unknown.ptr_to_original - source: '=' scopes: - keyword.operator.assignment -- source: ' a_task_ptr' +- source: a_task_ptr + scopes: + - variable.other.unknown.a_task_ptr - source: ; scopes: - punctuation.terminator.statement @@ -29361,6 +30745,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -29409,6 +30795,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -29448,6 +30836,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -29456,7 +30846,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' thread ' +- source: thread + scopes: + - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment @@ -29521,6 +30913,7 @@ - source: __dummy_thread scopes: - meta.parameter.initialization + - variable.other.unknown.__dummy_thread - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -29530,9 +30923,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.constructor scopesEnd: - meta.head.function.definition.special.constructor -- source: ' ptr_to_original ' +- source: ptr_to_original scopesBegin: - meta.body.function.definition.special.constructor + scopes: + - variable.other.unknown.ptr_to_original - source: '=' scopes: - keyword.operator.assignment @@ -29548,7 +30943,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' thread ' +- source: thread + scopes: + - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment @@ -29599,6 +30996,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -29647,6 +31046,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -29686,6 +31087,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -29742,6 +31145,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -29775,6 +31180,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -29800,7 +31207,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.delete -- source: ' ptr_to_original' +- source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ; scopes: - punctuation.terminator.statement @@ -29883,13 +31292,17 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' ptr_to_original ' +- source: ptr_to_original scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.ptr_to_original - source: '=' scopes: - keyword.operator.assignment -- source: ' a_pointer' +- source: a_pointer + scopes: + - variable.other.unknown.a_pointer - source: ; scopes: - punctuation.terminator.statement @@ -29905,6 +31318,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -29913,7 +31328,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' thread ' +- source: thread + scopes: + - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment @@ -30003,7 +31420,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ptr_to_original ' +- source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: '==' scopes: - keyword.operator.comparison @@ -30262,9 +31681,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' ptr_to_original ' +- source: ptr_to_original scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.ptr_to_original - source: '=' scopes: - keyword.operator.assignment @@ -30280,7 +31701,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' thread ' +- source: thread + scopes: + - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment @@ -30331,6 +31754,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -30379,6 +31804,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -30418,6 +31845,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: ptr_to_original + scopes: + - variable.other.unknown.ptr_to_original - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -30480,19 +31909,27 @@ - punctuation.section.angle-brackets.end.template.definition scopesEnd: - meta.template.definition -- source: ' map' +- source: map + scopes: + - variable.other.unknown.map - source: < scopes: - keyword.operator.comparison - source: TaskClass + scopes: + - variable.other.unknown.TaskClass - source: < scopes: - keyword.operator.comparison - source: ANY_OUTPUT_TYPE + scopes: + - variable.other.unknown.ANY_OUTPUT_TYPE - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ANY_INPUT_TYPE' +- source: ANY_INPUT_TYPE + scopes: + - variable.other.unknown.ANY_INPUT_TYPE - source: '>' scopes: - keyword.operator.comparison @@ -30540,6 +31977,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: links_to + scopes: + - variable.other.unknown.links_to - source: ; scopes: - punctuation.terminator.statement @@ -30618,6 +32057,7 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.other.unknown.ARG - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -30644,6 +32084,7 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.other.unknown.ARG - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -30696,6 +32137,7 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.other.unknown.ARG - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -30722,6 +32164,7 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.other.unknown.ARG - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -30735,10 +32178,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: FUNC + scopes: + - variable.other.unknown.FUNC - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ARG' +- source: ARG + scopes: + - variable.other.unknown.ARG - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -30806,11 +32253,18 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' _Nullable ' +- source: _Nullable + scopes: + - variable.other.unknown._Nullable - source: '*' scopes: - keyword.operator.arithmetic -- source: ' _Nullable output ' +- source: _Nullable + scopes: + - variable.other.unknown._Nullable +- source: output + scopes: + - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment @@ -30827,10 +32281,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: thread + scopes: + - variable.other.unknown.thread - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -30858,6 +32316,8 @@ scopesEnd: - meta.parens - source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -31010,6 +32470,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: varaible_address + scopes: + - variable.other.unknown.varaible_address - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31058,6 +32520,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: varaible_address + scopes: + - variable.other.unknown.varaible_address - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -31066,7 +32530,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' PTHREAD_MUTEX_INITIALIZER' +- source: PTHREAD_MUTEX_INITIALIZER + scopes: + - variable.other.unknown.PTHREAD_MUTEX_INITIALIZER - source: ; scopes: - punctuation.terminator.statement @@ -31106,6 +32572,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: varaible_address + scopes: + - variable.other.unknown.varaible_address - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -31194,6 +32662,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: varaible_address + scopes: + - variable.other.unknown.varaible_address - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31275,6 +32745,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: varaible_address + scopes: + - variable.other.unknown.varaible_address - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -31310,6 +32782,7 @@ - source: LockManager scopes: - meta.tail.class + - variable.other.unknown.LockManager - source: ; scopes: - punctuation.terminator.statement @@ -31371,6 +32844,8 @@ scopes: - keyword.operator.bitwise - source: ARGS + scopes: + - variable.other.unknown.ARGS - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -31434,6 +32909,8 @@ scopes: - keyword.operator.bitwise - source: ARGS + scopes: + - variable.other.unknown.ARGS - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -31592,7 +33069,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -31664,7 +33143,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input_vector ' +- source: input_vector + scopes: + - variable.other.unknown.input_vector scopesEnd: - meta.parens.control.for - source: ) @@ -31684,17 +33165,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members + scopes: + - variable.other.unknown.all_members - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' each' +- source: each + scopes: + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' all_members ' +- source: all_members + scopes: + - variable.other.unknown.all_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -31761,7 +33248,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' all_members ' +- source: all_members + scopes: + - variable.other.unknown.all_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -31798,12 +33287,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -31892,7 +33385,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -31903,6 +33398,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members_str + scopes: + - variable.other.unknown.all_members_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -31928,7 +33425,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -32050,7 +33549,9 @@ - source: ' reset the input vector' scopesEnd: - comment.line.double-slash -- source: ' input_vector ' +- source: input_vector + scopes: + - variable.other.unknown.input_vector - source: '=' scopes: - keyword.operator.assignment @@ -32106,6 +33607,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32141,6 +33644,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32172,6 +33677,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32187,12 +33694,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -32222,12 +33733,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -32238,6 +33753,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_content + scopes: + - variable.other.unknown.vector_content - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32276,7 +33793,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'vector_content ' +- source: vector_content + scopes: + - variable.other.unknown.vector_content - source: '==' scopes: - keyword.operator.comparison @@ -32305,6 +33824,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32327,7 +33848,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' vector_content ' +- source: vector_content + scopes: + - variable.other.unknown.vector_content - source: '==' scopes: - keyword.operator.comparison @@ -32352,7 +33875,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -32384,11 +33909,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' vector_content_as_stream ' +- source: vector_content_as_stream + scopes: + - variable.other.unknown.vector_content_as_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' vector_content' +- source: vector_content + scopes: + - variable.other.unknown.vector_content - source: ; scopes: - punctuation.terminator.statement @@ -32426,10 +33955,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_content_as_stream + scopes: + - variable.other.unknown.vector_content_as_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_member' +- source: data_member + scopes: + - variable.other.unknown.data_member - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32449,6 +33982,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32470,6 +34005,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_content_as_stream + scopes: + - variable.other.unknown.vector_content_as_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32493,6 +34030,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32517,6 +34056,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: data_member + scopes: + - variable.other.unknown.data_member - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32547,6 +34088,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_content_as_stream + scopes: + - variable.other.unknown.vector_content_as_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32610,6 +34153,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32627,7 +34172,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -32744,7 +34291,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input ' +- source: input + scopes: + - variable.other.unknown.input scopesEnd: - meta.parens.control.for - source: ) @@ -32757,7 +34306,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -32768,6 +34319,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: each + scopes: + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32952,7 +34505,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' element_number' +- source: element_number + scopes: + - variable.other.unknown.element_number - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -33068,7 +34623,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input_vector' +- source: input_vector + scopes: + - variable.other.unknown.input_vector scopesEnd: - meta.parens.control.for - source: ) @@ -33089,11 +34646,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each ' +- source: each + scopes: + - variable.other.unknown.each - source: '==' scopes: - keyword.operator.comparison -- source: ' test_val' +- source: test_val + scopes: + - variable.other.unknown.test_val - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33219,7 +34780,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -33255,7 +34818,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -33265,15 +34830,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -33293,11 +34864,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -33327,14 +34902,18 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '==' scopes: - keyword.operator.comparison -- source: ' test_val ' +- source: test_val + scopes: + - variable.other.unknown.test_val - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33474,7 +35053,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -33510,7 +35091,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -33520,15 +35103,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -33548,11 +35137,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -33587,14 +35180,18 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '==' scopes: - keyword.operator.comparison -- source: ' test_val' +- source: test_val + scopes: + - variable.other.unknown.test_val - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33613,7 +35210,9 @@ - source: return scopes: - keyword.control.return -- source: ' EachItem' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ; scopes: - punctuation.terminator.statement @@ -33749,11 +35348,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'element_ ' +- source: element_ + scopes: + - variable.other.unknown.element_ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_vector' +- source: input_vector + scopes: + - variable.other.unknown.input_vector - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -33790,7 +35393,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' element_number' +- source: element_number + scopes: + - variable.other.unknown.element_number - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -33905,7 +35510,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -33941,7 +35548,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -33951,15 +35560,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -33979,11 +35594,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -34013,14 +35632,18 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: '==' scopes: - keyword.operator.comparison -- source: ' test_val ' +- source: test_val + scopes: + - variable.other.unknown.test_val - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -34031,7 +35654,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' number_of_matches' +- source: number_of_matches + scopes: + - variable.other.unknown.number_of_matches - source: ++ scopes: - keyword.operator.increment @@ -34056,7 +35681,9 @@ - source: return scopes: - keyword.control.return -- source: ' number_of_matches' +- source: number_of_matches + scopes: + - variable.other.unknown.number_of_matches - source: ; scopes: - punctuation.terminator.statement @@ -34187,7 +35814,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -34223,7 +35852,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -34233,15 +35864,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -34261,11 +35898,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -34302,13 +35943,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' search_vector ' +- source: search_vector + scopes: + - variable.other.unknown.search_vector - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -34329,10 +35974,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_vector' +- source: input_vector + scopes: + - variable.other.unknown.input_vector - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -34377,6 +36026,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -34513,7 +36164,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input scopesEnd: - meta.parens.control.for - source: ) @@ -34526,7 +36179,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' largest_string ' +- source: largest_string + scopes: + - variable.other.unknown.largest_string - source: '=' scopes: - keyword.operator.assignment @@ -34548,7 +36203,9 @@ - source: '>' scopes: - keyword.operator.comparison -- source: ' largest_string ' +- source: largest_string + scopes: + - variable.other.unknown.largest_string - source: '?' scopes: - keyword.operator.ternary @@ -34570,7 +36227,9 @@ - source: ':' scopes: - keyword.operator.ternary -- source: ' largest_string' +- source: largest_string + scopes: + - variable.other.unknown.largest_string - source: ; scopes: - punctuation.terminator.statement @@ -34637,7 +36296,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input scopesEnd: - meta.parens.control.for - source: ) @@ -34707,6 +36368,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: new_string + scopes: + - variable.other.unknown.new_string - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -34744,6 +36407,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: new_string + scopes: + - variable.other.unknown.new_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -34890,7 +36555,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -34900,7 +36567,9 @@ - source: return scopes: - keyword.control.return -- source: ' output' +- source: output + scopes: + - variable.other.unknown.output - source: ; scopes: - punctuation.terminator.statement @@ -35047,7 +36716,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.other.unknown.start - source: < scopes: - keyword.operator.comparison @@ -35059,7 +36730,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment @@ -35081,7 +36754,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement @@ -35096,7 +36771,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison @@ -35120,7 +36797,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment @@ -35150,7 +36829,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: < scopes: - keyword.operator.comparison @@ -35162,7 +36843,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment @@ -35184,7 +36867,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' finish' +- source: finish + scopes: + - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement @@ -35199,7 +36884,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: '>' scopes: - keyword.operator.comparison @@ -35223,7 +36910,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment @@ -35253,11 +36942,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison -- source: ' finish' +- source: finish + scopes: + - variable.other.unknown.finish - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -35279,23 +36972,33 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement -- source: ' start ' +- source: start + scopes: + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment -- source: ' finish' +- source: finish + scopes: + - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement -- source: ' finish ' +- source: finish + scopes: + - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment -- source: ' swap' +- source: swap + scopes: + - variable.other.unknown.swap - source: ; scopes: - punctuation.terminator.statement @@ -35318,23 +37021,33 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' finish' +- source: finish + scopes: + - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -35366,6 +37079,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -35380,7 +37095,9 @@ - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -35494,6 +37211,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: start + scopes: + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -35684,7 +37403,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.other.unknown.start - source: < scopes: - keyword.operator.comparison @@ -35696,7 +37417,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment @@ -35718,7 +37441,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement @@ -35733,7 +37458,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison @@ -35757,7 +37484,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment @@ -35787,7 +37516,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'count ' +- source: count + scopes: + - variable.other.unknown.count - source: '>' scopes: - keyword.operator.comparison @@ -35809,13 +37540,17 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' count ' +- source: count + scopes: + - variable.other.unknown.count - source: '=' scopes: - keyword.operator.assignment @@ -35837,7 +37572,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement @@ -35855,7 +37592,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -35865,15 +37604,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -35905,6 +37650,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -35930,7 +37677,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -35940,7 +37689,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison @@ -35962,7 +37713,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -35994,6 +37747,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -36019,19 +37774,27 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' start ' +- source: start + scopes: + - variable.other.unknown.start - source: + scopes: - keyword.operator.arithmetic -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison @@ -36053,7 +37816,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -36085,6 +37850,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -36099,7 +37866,9 @@ - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -36248,18 +38017,26 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' count' +- source: count + scopes: + - variable.other.unknown.count - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' empty' +- source: empty + scopes: + - variable.other.unknown.empty - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -36399,10 +38176,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' start' +- source: start + scopes: + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -36412,7 +38193,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' additions' +- source: additions + scopes: + - variable.other.unknown.additions - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -36529,7 +38312,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'index ' +- source: index + scopes: + - variable.other.unknown.index - source: < scopes: - keyword.operator.comparison @@ -36575,6 +38360,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: index + scopes: + - variable.other.unknown.index - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -36583,7 +38370,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -36592,11 +38381,15 @@ - source: return scopes: - keyword.control.return -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -36743,6 +38536,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: index + scopes: + - variable.other.unknown.index - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -36770,6 +38565,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: index + scopes: + - variable.other.unknown.index - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -36778,7 +38575,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -36787,11 +38586,15 @@ - source: return scopes: - keyword.control.return -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: '--' scopes: - keyword.operator.decrement @@ -36964,7 +38767,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'index ' +- source: index + scopes: + - variable.other.unknown.index - source: < scopes: - keyword.operator.comparison @@ -37010,6 +38815,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: index + scopes: + - variable.other.unknown.index - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -37018,7 +38825,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' target' +- source: target + scopes: + - variable.other.unknown.target - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -37037,13 +38846,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index + scopes: + - variable.other.unknown.index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' index' +- source: index + scopes: + - variable.other.unknown.index - source: ++ scopes: - keyword.operator.increment @@ -37058,7 +38871,9 @@ - source: return scopes: - keyword.control.return -- source: ' indices' +- source: indices + scopes: + - variable.other.unknown.indices - source: ; scopes: - punctuation.terminator.statement @@ -37162,10 +38977,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: base + scopes: + - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' target' +- source: target + scopes: + - variable.other.unknown.target - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37339,7 +39158,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -37398,6 +39219,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members + scopes: + - variable.other.unknown.all_members - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -37416,7 +39239,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' all_members ' +- source: all_members + scopes: + - variable.other.unknown.all_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -37443,6 +39268,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members + scopes: + - variable.other.unknown.all_members - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -37461,7 +39288,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' all_members ' +- source: all_members + scopes: + - variable.other.unknown.all_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -37498,12 +39327,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: local_debug + scopes: + - variable.other.unknown.local_debug - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -37592,7 +39425,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -37603,6 +39438,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members_str + scopes: + - variable.other.unknown.all_members_str - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37628,7 +39465,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -37779,6 +39618,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37814,6 +39655,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37845,6 +39688,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37867,7 +39712,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -37896,6 +39743,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37983,6 +39832,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38026,7 +39877,9 @@ - source: ' get rid of the class''s newline' scopesEnd: - comment.line.double-slash -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -38109,11 +39962,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' datamember1 ' +- source: datamember1 + scopes: + - variable.other.unknown.datamember1 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38133,6 +39990,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -38145,11 +40004,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' datamember2 ' +- source: datamember2 + scopes: + - variable.other.unknown.datamember2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38169,6 +40032,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -38198,6 +40063,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38216,6 +40083,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38242,7 +40111,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' datamember1' +- source: datamember1 + scopes: + - variable.other.unknown.datamember1 - source: ; scopes: - punctuation.terminator.statement @@ -38258,7 +40129,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' datamember2' +- source: datamember2 + scopes: + - variable.other.unknown.datamember2 - source: ; scopes: - punctuation.terminator.statement @@ -38273,7 +40146,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -38404,7 +40279,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -38498,7 +40375,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' input_ ' +- source: input_ + scopes: + - variable.other.unknown.input_ scopesEnd: - meta.parens.control.for - source: ) @@ -38518,17 +40397,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members + scopes: + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' each' +- source: each + scopes: + - variable.other.unknown.each - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -38561,7 +40446,9 @@ - source: ' format and return stream' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -38611,7 +40498,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -38762,6 +40651,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38797,6 +40688,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38828,6 +40721,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38850,7 +40745,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -38879,6 +40776,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -38966,6 +40865,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -39009,7 +40910,9 @@ - source: ' get rid of the class''s newline' scopesEnd: - comment.line.double-slash -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -39074,7 +40977,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -39099,7 +41004,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -39200,10 +41107,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_member' +- source: data_member + scopes: + - variable.other.unknown.data_member - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -39223,6 +41134,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -39244,6 +41157,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -39267,6 +41182,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -39339,6 +41256,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -39358,11 +41277,15 @@ - source: ' add the data to the input ' scopesEnd: - comment.line.double-slash -- source: ' input_ ' +- source: input_ + scopes: + - variable.other.unknown.input_ - source: '=' scopes: - keyword.operator.assignment -- source: ' data_member_holder' +- source: data_member_holder + scopes: + - variable.other.unknown.data_member_holder - source: ; scopes: - punctuation.terminator.statement @@ -39377,7 +41300,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -39522,6 +41447,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: key + scopes: + - variable.other.unknown.key - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -39694,7 +41621,13 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' each : input_map ' +- source: each + scopes: + - variable.other.unknown.each +- source: ' : ' +- source: input_map + scopes: + - variable.other.unknown.input_map scopesEnd: - meta.parens.control.for - source: ) @@ -39727,7 +41660,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -39893,7 +41828,13 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' each : input_map ' +- source: each + scopes: + - variable.other.unknown.each +- source: ' : ' +- source: input_map + scopes: + - variable.other.unknown.input_map scopesEnd: - meta.parens.control.for - source: ) @@ -39926,7 +41867,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -39975,7 +41918,9 @@ - source: return scopes: - keyword.control.return -- source: ' null_' +- source: null_ + scopes: + - variable.other.unknown.null_ - source: ; scopes: - punctuation.terminator.statement @@ -40086,10 +42031,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_map' +- source: input_map + scopes: + - variable.other.unknown.input_map - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -40122,10 +42071,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_map' +- source: input_map + scopes: + - variable.other.unknown.input_map - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -40268,10 +42221,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_map' +- source: input_map + scopes: + - variable.other.unknown.input_map - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -40405,10 +42362,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_map' +- source: input_map + scopes: + - variable.other.unknown.input_map - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -40652,6 +42613,7 @@ - source: input scopes: - meta.arguments.operator.typeid + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -40686,17 +42648,23 @@ scopes: - keyword.operator.bitwise - source: status + scopes: + - variable.other.unknown.status - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' output ' +- source: output + scopes: + - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' demangled ' +- source: demangled + scopes: + - variable.other.unknown.demangled - source: ; scopes: - punctuation.terminator.statement @@ -40707,6 +42675,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: demangled + scopes: + - variable.other.unknown.demangled - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -41092,6 +43062,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -41191,7 +43163,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' item_position ' +- source: item_position + scopes: + - variable.other.unknown.item_position - source: '>' scopes: - keyword.operator.comparison @@ -41214,7 +43188,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.or -- source: ' item_position ' +- source: item_position + scopes: + - variable.other.unknown.item_position - source: < scopes: - keyword.operator.comparison @@ -41275,7 +43251,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'item_position ' +- source: item_position + scopes: + - variable.other.unknown.item_position - source: '-' scopes: - keyword.operator.arithmetic @@ -41290,7 +43268,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vector_' +- source: vector_ + scopes: + - variable.other.unknown.vector_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -41362,7 +43342,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -41398,7 +43380,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -41408,15 +43392,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -41436,11 +43426,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -41458,7 +43452,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' name ' +- source: name + scopes: + - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison @@ -41475,6 +43471,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -41495,10 +43493,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' names ' +- source: names + scopes: + - variable.other.unknown.names - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -41512,10 +43514,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' values' +- source: values + scopes: + - variable.other.unknown.values - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -41673,7 +43679,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -41682,11 +43690,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ending_spot ' +- source: ending_spot + scopes: + - variable.other.unknown.ending_spot - source: '-' scopes: - keyword.operator.arithmetic -- source: ' starting_spot ' +- source: starting_spot + scopes: + - variable.other.unknown.starting_spot - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -41715,7 +43727,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -41725,15 +43739,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -41774,6 +43794,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -41802,7 +43824,9 @@ - source: return scopes: - keyword.control.return -- source: ' output_list' +- source: output_list + scopes: + - variable.other.unknown.output_list - source: ; scopes: - punctuation.terminator.statement @@ -41869,11 +43893,15 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' vector_ ' +- source: vector_ + scopes: + - variable.other.unknown.vector_ - source: + scopes: - keyword.operator.arithmetic -- source: ' values' +- source: values + scopes: + - variable.other.unknown.values - source: ; scopes: - punctuation.terminator.statement @@ -41936,7 +43964,9 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' vector_' +- source: vector_ + scopes: + - variable.other.unknown.vector_ - source: ; scopes: - punctuation.terminator.statement @@ -41999,7 +44029,9 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' names' +- source: names + scopes: + - variable.other.unknown.names - source: ; scopes: - punctuation.terminator.statement @@ -42062,7 +44094,9 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' values' +- source: values + scopes: + - variable.other.unknown.values - source: ; scopes: - punctuation.terminator.statement @@ -42160,6 +44194,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42254,7 +44290,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' names' +- source: names + scopes: + - variable.other.unknown.names - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42347,6 +44385,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42354,6 +44394,8 @@ scopes: - punctuation.separator.delimiter.comma - source: values + scopes: + - variable.other.unknown.values - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42446,6 +44488,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42453,6 +44497,8 @@ scopes: - punctuation.separator.delimiter.comma - source: vector_ + scopes: + - variable.other.unknown.vector_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42550,6 +44596,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42557,6 +44605,8 @@ scopes: - punctuation.separator.delimiter.comma - source: values + scopes: + - variable.other.unknown.values - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42595,6 +44645,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42602,6 +44654,8 @@ scopes: - punctuation.separator.delimiter.comma - source: vector_ + scopes: + - variable.other.unknown.vector_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -42714,6 +44768,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -42736,6 +44792,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -42758,6 +44816,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -42846,7 +44906,13 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' each : names ' +- source: each + scopes: + - variable.other.unknown.each +- source: ' : ' +- source: names + scopes: + - variable.other.unknown.names scopesEnd: - meta.parens.control.for - source: ) @@ -42885,7 +44951,9 @@ - source: '>' scopes: - keyword.operator.comparison -- source: ' largest_size' +- source: largest_size + scopes: + - variable.other.unknown.largest_size - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -42896,7 +44964,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' largest_size ' +- source: largest_size + scopes: + - variable.other.unknown.largest_size - source: '=' scopes: - keyword.operator.assignment @@ -42931,7 +45001,9 @@ - source: return scopes: - keyword.control.return -- source: ' largest_size' +- source: largest_size + scopes: + - variable.other.unknown.largest_size - source: ; scopes: - punctuation.terminator.statement @@ -43140,11 +45212,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' first_few ' +- source: first_few + scopes: + - variable.other.unknown.first_few - source: ; scopes: - punctuation.terminator.statement @@ -43162,7 +45238,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -43172,15 +45250,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -43196,11 +45280,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic @@ -43217,6 +45305,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -43270,7 +45360,9 @@ - source: return scopes: - keyword.control.return -- source: ' output_string' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: ; scopes: - punctuation.terminator.statement @@ -43346,6 +45438,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: position + scopes: + - variable.other.unknown.position - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -43370,7 +45464,9 @@ - source: '&&' scopes: - keyword.operator.logical -- source: ' position ' +- source: position + scopes: + - variable.other.unknown.position - source: '!=' scopes: - keyword.operator.comparison @@ -43391,7 +45487,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' position ' +- source: position + scopes: + - variable.other.unknown.position - source: < scopes: - keyword.operator.comparison @@ -43409,7 +45507,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' is_in_bounds ' +- source: is_in_bounds + scopes: + - variable.other.unknown.is_in_bounds - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -43428,7 +45528,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' is_negative ' +- source: is_negative + scopes: + - variable.other.unknown.is_negative - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -43488,7 +45590,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' position' +- source: position + scopes: + - variable.other.unknown.position - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43524,6 +45628,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: position + scopes: + - variable.other.unknown.position - source: '-' scopes: - keyword.operator.arithmetic @@ -43562,7 +45668,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' is_negative ' +- source: is_negative + scopes: + - variable.other.unknown.is_negative - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -43600,6 +45708,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: position + scopes: + - variable.other.unknown.position - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -43710,7 +45820,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' position ' +- source: position + scopes: + - variable.other.unknown.position - source: '-' scopes: - keyword.operator.arithmetic @@ -43741,11 +45853,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' missing_items ' +- source: missing_items + scopes: + - variable.other.unknown.missing_items - source: ; scopes: - punctuation.terminator.statement @@ -43763,7 +45879,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -43773,15 +45891,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -43850,6 +45974,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: position + scopes: + - variable.other.unknown.position - source: '-' scopes: - keyword.operator.arithmetic @@ -43978,6 +46104,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44013,6 +46141,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44044,6 +46174,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44066,7 +46198,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -44095,6 +46229,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44182,6 +46318,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44225,7 +46363,9 @@ - source: ' get rid of the class''s newline' scopesEnd: - comment.line.double-slash -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -44288,11 +46428,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vector_ ' +- source: vector_ + scopes: + - variable.other.unknown.vector_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44312,6 +46456,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44324,11 +46470,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' values ' +- source: values + scopes: + - variable.other.unknown.values - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44348,6 +46498,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44360,11 +46512,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' names ' +- source: names + scopes: + - variable.other.unknown.names - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44384,6 +46540,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44413,6 +46571,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44431,6 +46591,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44448,7 +46610,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -44530,6 +46694,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: position + scopes: + - variable.other.unknown.position - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44614,10 +46780,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: name + scopes: + - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' names' +- source: names + scopes: + - variable.other.unknown.names - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -44632,7 +46802,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' index_ ' +- source: index_ + scopes: + - variable.other.unknown.index_ - source: '!=' scopes: - keyword.operator.comparison @@ -44668,6 +46840,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: index_ + scopes: + - variable.other.unknown.index_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44707,7 +46881,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: ' name ' +- source: name + scopes: + - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44899,9 +47075,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' vector_ ' +- source: vector_ scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.vector_ - source: '=' scopes: - keyword.operator.assignment @@ -44927,7 +47105,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -44963,7 +47143,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -44973,15 +47155,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -45001,11 +47189,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -45046,6 +47238,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -45162,13 +47356,17 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' vector_ ' +- source: vector_ scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.vector_ - source: '=' scopes: - keyword.operator.assignment -- source: ' assignment_data' +- source: assignment_data + scopes: + - variable.other.unknown.assignment_data - source: ; scopes: - punctuation.terminator.statement @@ -45310,7 +47508,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -45368,7 +47568,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -45393,7 +47595,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -45419,7 +47623,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -45444,7 +47650,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -45470,7 +47678,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -45495,7 +47705,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -45523,7 +47735,9 @@ - source: ' format and return stream' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -45573,7 +47787,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -45686,6 +47902,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -45895,7 +48113,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -45943,7 +48163,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -45953,15 +48175,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -45981,11 +48209,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -45995,7 +48227,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' named_values_stream ' +- source: named_values_stream + scopes: + - variable.other.unknown.named_values_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -46039,6 +48273,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -46084,6 +48320,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -46407,7 +48645,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -46455,7 +48695,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -46465,15 +48707,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -46493,11 +48741,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' EachItem ' +- source: EachItem + scopes: + - variable.other.unknown.EachItem - source: '=' scopes: - keyword.operator.assignment -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '-' scopes: - keyword.operator.arithmetic @@ -46507,7 +48759,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' output_stream ' +- source: output_stream + scopes: + - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -46551,6 +48805,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -46596,6 +48852,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: EachItem + scopes: + - variable.other.unknown.EachItem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -46823,7 +49081,9 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -46834,6 +49094,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46949,10 +49211,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input_' +- source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -46986,11 +49252,15 @@ - source: List scopes: - entity.name.function.preprocessor -- source: ' List' +- source: List + scopes: + - variable.other.unknown.List - source: < scopes: - keyword.operator.comparison - source: Item + scopes: + - variable.other.unknown.Item - source: '>' scopes: - keyword.operator.comparison @@ -47016,7 +49286,9 @@ - source: var scopes: - entity.name.function.preprocessor -- source: ' Item' +- source: Item + scopes: + - variable.other.unknown.Item scopesEnd: - meta.preprocessor.macro - source: // @@ -47115,7 +49387,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' data ' +- source: data + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment @@ -47133,7 +49407,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47169,7 +49445,10 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' input_string[] ' +- source: input_string + scopes: + - variable.other.unknown.input_string +- source: '[] ' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -47178,15 +49457,21 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' data ' +- source: data + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment -- source: ' input_string ' +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47218,7 +49503,12 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' string input_string ' +- source: string + scopes: + - variable.other.unknown.string +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -47227,15 +49517,21 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' data ' +- source: data + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment -- source: ' input_string ' +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47271,7 +49567,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' input_ ' +- source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -47298,7 +49596,9 @@ - source: ' precision should max out before 20' scopesEnd: - comment.line.double-slash -- source: ' input_method ' +- source: input_method + scopes: + - variable.other.unknown.input_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -47317,11 +49617,15 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input_ ' +- source: input_ + scopes: + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement -- source: ' data ' +- source: data + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment @@ -47343,7 +49647,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47394,7 +49700,12 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' ANYTYPE input ' +- source: ANYTYPE + scopes: + - variable.other.unknown.ANYTYPE +- source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -47420,10 +49731,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -47438,7 +49753,9 @@ - source: ' get the name' scopesEnd: - comment.line.double-slash -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47464,14 +49781,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data_stream' +- source: data_stream + scopes: + - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47545,6 +49866,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -47559,7 +49882,9 @@ - source: ' remove the closing newline' scopesEnd: - comment.line.double-slash -- source: ' content ' +- source: content + scopes: + - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment @@ -47608,11 +49933,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data ' +- source: data + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement @@ -47624,7 +49953,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'type ' +- source: type + scopes: + - variable.other.unknown.type - source: '==' scopes: - keyword.operator.comparison @@ -47642,7 +49973,9 @@ - source: '||' scopes: - keyword.operator.logical -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '==' scopes: - keyword.operator.comparison @@ -47662,7 +49995,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -47723,7 +50058,9 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: ; scopes: - punctuation.terminator.statement @@ -47760,7 +50097,9 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' data ' +- source: data + scopes: + - variable.other.unknown.data - source: ; scopes: - punctuation.terminator.statement @@ -47809,6 +50148,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -47822,6 +50163,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -47851,6 +50194,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.other.unknown.data - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -47884,7 +50229,9 @@ - source: return scopes: - keyword.control.return -- source: ' data' +- source: data + scopes: + - variable.other.unknown.data - source: ; scopes: - punctuation.terminator.statement @@ -47976,6 +50323,8 @@ scopes: - punctuation.separator.delimiter.comma - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48011,6 +50360,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48042,6 +50393,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48064,7 +50417,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'content ' +- source: content + scopes: + - variable.other.unknown.content - source: '==' scopes: - keyword.operator.comparison @@ -48093,6 +50448,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48180,6 +50537,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48223,7 +50582,9 @@ - source: ' get rid of the class''s newline' scopesEnd: - comment.line.double-slash -- source: ' transfer_method ' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -48286,11 +50647,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' data ' +- source: data + scopes: + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48310,6 +50675,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -48322,11 +50689,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' transfer_method' +- source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48346,6 +50717,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -48375,6 +50748,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method + scopes: + - variable.other.unknown.transfer_method - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48393,6 +50768,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -48426,7 +50803,9 @@ - source: return scopes: - keyword.control.return -- source: ' in_' +- source: in_ + scopes: + - variable.other.unknown.in_ - source: ; scopes: - punctuation.terminator.statement @@ -48496,9 +50875,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' data ' +- source: data scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment @@ -48520,7 +50901,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -48613,17 +50996,23 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' data ' +- source: data scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment -- source: ' input_string ' +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -48702,17 +51091,23 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' data ' +- source: data scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment -- source: ' input_string ' +- source: input_string + scopes: + - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -48792,9 +51187,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' data ' +- source: data scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment @@ -48805,13 +51202,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_inputeger + scopes: + - variable.other.unknown.the_inputeger - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -48911,7 +51312,9 @@ - source: ' precision should max out before 20' scopesEnd: - comment.line.double-slash -- source: ' input_method ' +- source: input_method + scopes: + - variable.other.unknown.input_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -48930,11 +51333,15 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input_ ' +- source: input_ + scopes: + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement -- source: ' data ' +- source: data + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment @@ -48956,7 +51363,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -49056,7 +51465,9 @@ - source: ' precision should max out before 20' scopesEnd: - comment.line.double-slash -- source: ' input_method ' +- source: input_method + scopes: + - variable.other.unknown.input_method - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -49075,11 +51486,15 @@ - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input_ ' +- source: input_ + scopes: + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement -- source: ' data ' +- source: data + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment @@ -49101,7 +51516,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -49211,15 +51628,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_stream ' +- source: data_stream + scopes: + - variable.other.unknown.data_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input_' +- source: input_ + scopes: + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement -- source: ' data ' +- source: data + scopes: + - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment @@ -49241,7 +51664,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment @@ -49316,7 +51741,9 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' data' +- source: data + scopes: + - variable.other.unknown.data - source: ; scopes: - punctuation.terminator.statement @@ -49360,7 +51787,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' type ' +- source: type + scopes: + - variable.other.unknown.type - source: '==' scopes: - keyword.operator.comparison @@ -49395,6 +51824,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -49443,6 +51874,8 @@ scopes: - keyword.operator.arithmetic - source: data + scopes: + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -49543,7 +51976,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -49601,7 +52036,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -49626,7 +52063,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -49652,7 +52091,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -49677,7 +52118,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -49705,7 +52148,9 @@ - source: ' format and return stream' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -49739,7 +52184,9 @@ - source: return scopes: - keyword.control.return -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ; scopes: - punctuation.terminator.statement @@ -49816,6 +52263,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: in_ + scopes: + - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -49885,7 +52334,9 @@ - source: ' name of class ' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -49941,7 +52392,9 @@ - source: ' for each datamember' scopesEnd: - comment.line.double-slash -- source: ' data_members ' +- source: data_members + scopes: + - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -49987,7 +52440,9 @@ - source: ' format and return stream' scopesEnd: - comment.line.double-slash -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -50171,7 +52626,9 @@ - source: return scopes: - keyword.control.return -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -50293,7 +52750,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' data_stream ' +- source: data_stream + scopes: + - variable.other.unknown.data_stream - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -50304,6 +52763,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50336,10 +52797,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream + scopes: + - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' blank_list' +- source: blank_list + scopes: + - variable.other.unknown.blank_list - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50357,11 +52822,15 @@ - source: return scopes: - keyword.control.return -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' blank_list' +- source: blank_list + scopes: + - variable.other.unknown.blank_list - source: ; scopes: - punctuation.terminator.statement @@ -50373,7 +52842,9 @@ - source: return scopes: - keyword.control.return -- source: ' out ' +- source: out + scopes: + - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -50468,10 +52939,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ + scopes: + - variable.other.unknown.in_ - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ + scopes: + - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50584,7 +53059,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -50594,15 +53071,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' repetitions' +- source: repetitions + scopes: + - variable.other.unknown.repetitions - source: ; scopes: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -50613,11 +53096,15 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' result ' +- source: result + scopes: + - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound -- source: ' base' +- source: base + scopes: + - variable.other.unknown.base - source: ; scopes: - punctuation.terminator.statement @@ -50631,6 +53118,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: result + scopes: + - variable.other.unknown.result - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50785,7 +53274,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50857,7 +53348,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -51020,7 +53513,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -51060,6 +53555,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -51252,7 +53749,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -51292,6 +53791,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -51455,7 +53956,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic @@ -51502,7 +54005,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic @@ -51679,7 +54184,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -51751,7 +54258,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -51908,7 +54417,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -51945,6 +54456,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -52131,7 +54644,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -52168,6 +54683,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -52349,7 +54866,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -52396,7 +54915,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -52814,7 +55335,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: '-' scopes: - keyword.operator.arithmetic @@ -52878,6 +55401,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -53037,7 +55562,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: '-' scopes: - keyword.operator.arithmetic @@ -53101,6 +55628,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -53287,7 +55816,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -53356,6 +55887,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.other.unknown.input_item - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -53483,7 +56016,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: '-' scopes: - keyword.operator.arithmetic @@ -53579,6 +56114,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item + scopes: + - variable.other.unknown.input_item - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -54236,7 +56773,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -54303,7 +56842,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -54339,11 +56880,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -54361,7 +56906,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -54371,15 +56918,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -54395,15 +56948,21 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ; scopes: - punctuation.terminator.statement @@ -54427,6 +56986,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -54623,7 +57184,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -54640,7 +57203,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -54707,7 +57272,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -54743,11 +57310,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -54765,7 +57336,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -54775,15 +57348,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -54799,11 +57378,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic @@ -54845,6 +57428,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -54956,7 +57541,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic @@ -55139,7 +57726,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -55156,7 +57745,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -55223,7 +57814,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -55259,11 +57852,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -55281,7 +57878,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -55291,15 +57890,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -55315,11 +57920,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic @@ -55361,6 +57970,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -55472,7 +58083,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic @@ -55594,13 +58207,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: '*' scopes: - keyword.operator.arithmetic -- source: ' input_item' +- source: input_item + scopes: + - variable.other.unknown.input_item - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -55751,7 +58368,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -55768,7 +58387,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -55835,7 +58456,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -55871,11 +58494,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -55893,7 +58520,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -55903,15 +58532,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -55927,11 +58562,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic @@ -55973,6 +58612,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -56084,7 +58725,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic @@ -56267,7 +58910,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -56284,7 +58929,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -56351,7 +58998,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -56387,11 +59036,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -56409,7 +59062,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -56419,15 +59074,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -56443,11 +59104,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic @@ -56489,6 +59154,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -56600,7 +59267,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic @@ -56876,7 +59545,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '==' scopes: - keyword.operator.comparison @@ -56943,7 +59614,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: '>' scopes: - keyword.operator.comparison @@ -56979,11 +59652,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: ' number_ ' +- source: number_ + scopes: + - variable.other.unknown.number_ - source: ; scopes: - punctuation.terminator.statement @@ -57001,7 +59678,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -57011,15 +59690,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -57035,15 +59720,21 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment -- source: ' output_string ' +- source: output_string + scopes: + - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ; scopes: - punctuation.terminator.statement @@ -57067,6 +59758,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string + scopes: + - variable.other.unknown.output_string - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -57195,7 +59888,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'input_item ' +- source: input_item + scopes: + - variable.other.unknown.input_item - source: '*' scopes: - keyword.operator.arithmetic @@ -57206,6 +59901,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -57379,7 +60076,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'input_item1 ' +- source: input_item1 + scopes: + - variable.other.unknown.input_item1 - source: '*' scopes: - keyword.operator.arithmetic @@ -57546,7 +60245,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' input_item2' +- source: input_item2 + scopes: + - variable.other.unknown.input_item2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -58063,7 +60764,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: '==' scopes: - keyword.operator.comparison @@ -58163,7 +60866,9 @@ - source: / scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -58366,7 +61071,9 @@ - source: / scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -58564,7 +61271,9 @@ - source: / scopes: - keyword.operator.arithmetic -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -58819,7 +61528,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -59054,7 +61765,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -59289,7 +62002,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -59576,7 +62291,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -59811,7 +62528,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -60046,7 +62765,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -60333,7 +63054,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -60568,7 +63291,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -60803,7 +63528,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'the_input ' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: / scopes: - keyword.operator.arithmetic @@ -61411,7 +64138,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -61618,7 +64347,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -61825,7 +64556,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -62005,7 +64738,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -62210,7 +64945,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -62415,7 +65152,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' the_input' +- source: the_input + scopes: + - variable.other.unknown.the_input - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -62672,7 +65411,9 @@ - source: ^ scopes: - keyword.operator.bitwise -- source: ' input_item2' +- source: input_item2 + scopes: + - variable.other.unknown.input_item2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -63000,7 +65741,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement @@ -63020,6 +65763,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: holder + scopes: + - variable.other.unknown.holder - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -63091,7 +65836,9 @@ - source: puts scopes: - entity.name.function.preprocessor -- source: ' __PutsOutputFixerStream' +- source: __PutsOutputFixerStream + scopes: + - variable.other.unknown.__PutsOutputFixerStream - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -63125,6 +65872,8 @@ scopes: - punctuation.terminator.statement - source: __PutLinesOutputFixerStream + scopes: + - variable.other.unknown.__PutLinesOutputFixerStream - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -63150,7 +65899,9 @@ - source: Print scopes: - entity.name.function.preprocessor -- source: ' cout' +- source: cout + scopes: + - variable.other.unknown.cout - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -63164,7 +65915,12 @@ - source: ' log is an incredibly useful Debugging tool' scopesEnd: - comment.line.double-slash -- source: ' string __OUTPUT_INDENT ' +- source: string + scopes: + - variable.other.unknown.string +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: '=' scopes: - keyword.operator.assignment @@ -63185,7 +65941,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' __INCREASE_INDENT ' +- source: __INCREASE_INDENT + scopes: + - variable.other.unknown.__INCREASE_INDENT - source: '=' scopes: - keyword.operator.assignment @@ -63226,6 +65984,8 @@ scopes: - punctuation.terminator.statement - source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -63240,7 +66000,9 @@ - source: log_start scopes: - entity.name.function.preprocessor -- source: ' __INCREASE_INDENT ' +- source: __INCREASE_INDENT + scopes: + - variable.other.unknown.__INCREASE_INDENT - source: '=' scopes: - keyword.operator.assignment @@ -63269,6 +66031,8 @@ scopes: - punctuation.terminator.statement - source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -63322,7 +66086,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' __OUTPUT_INDENT ' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: '=' scopes: - keyword.operator.assignment @@ -63398,6 +66164,8 @@ scopes: - punctuation.terminator.statement - source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -63557,9 +66325,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -63619,9 +66389,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -63649,6 +66421,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: number_of_spaces + scopes: + - variable.other.unknown.number_of_spaces - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -63695,9 +66469,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -63744,9 +66520,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -63821,7 +66599,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment @@ -63857,7 +66637,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: '=' scopes: - keyword.operator.assignment @@ -63867,15 +66649,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber ' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: <= scopes: - keyword.operator.comparison -- source: ' Max_Value ' +- source: Max_Value + scopes: + - variable.other.unknown.Max_Value - source: ; scopes: - punctuation.terminator.statement -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ++ scopes: - keyword.operator.increment @@ -63925,7 +66713,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' LoopNumber' +- source: LoopNumber + scopes: + - variable.other.unknown.LoopNumber - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -63957,7 +66747,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' charaters_till_newline' +- source: charaters_till_newline + scopes: + - variable.other.unknown.charaters_till_newline - source: ++ scopes: - keyword.operator.increment @@ -64001,7 +66793,9 @@ - source: return scopes: - keyword.control.return -- source: ' charaters_till_newline' +- source: charaters_till_newline + scopes: + - variable.other.unknown.charaters_till_newline - source: ; scopes: - punctuation.terminator.statement @@ -64042,9 +66836,11 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' length_of_last_line ' +- source: length_of_last_line scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.length_of_last_line - source: '=' scopes: - keyword.operator.assignment @@ -64054,7 +66850,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' dont_go_up_a_line ' +- source: dont_go_up_a_line + scopes: + - variable.other.unknown.dont_go_up_a_line - source: '=' scopes: - keyword.operator.assignment @@ -64064,7 +66862,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' what_was_just_output ' +- source: what_was_just_output + scopes: + - variable.other.unknown.what_was_just_output - source: '=' scopes: - keyword.operator.assignment @@ -64118,6 +66918,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: dont_go_up_a_line + scopes: + - variable.other.unknown.dont_go_up_a_line - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -64161,7 +66963,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content scopesEnd: - meta.parens.control.for - source: ) @@ -64182,7 +66986,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each ' +- source: each + scopes: + - variable.other.unknown.each - source: '==' scopes: - keyword.operator.comparison @@ -64209,11 +67015,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' __OUTPUT_INDENT' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: ; scopes: - punctuation.terminator.statement @@ -64222,11 +67032,15 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' each' +- source: each + scopes: + - variable.other.unknown.each - source: ; scopes: - punctuation.terminator.statement @@ -64235,7 +67049,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -64255,7 +67071,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' __INCREASE_INDENT ' +- source: __INCREASE_INDENT + scopes: + - variable.other.unknown.__INCREASE_INDENT - source: '=' scopes: - keyword.operator.assignment @@ -64265,7 +67083,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' dont_go_up_a_line ' +- source: dont_go_up_a_line + scopes: + - variable.other.unknown.dont_go_up_a_line - source: '=' scopes: - keyword.operator.assignment @@ -64300,7 +67120,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' length_of_last_line ' +- source: length_of_last_line + scopes: + - variable.other.unknown.length_of_last_line - source: += scopes: - keyword.operator.assignment.compound @@ -64323,6 +67145,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: length_of_last_line + scopes: + - variable.other.unknown.length_of_last_line - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -64350,7 +67174,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content scopesEnd: - meta.parens.control.for - source: ) @@ -64371,7 +67197,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each ' +- source: each + scopes: + - variable.other.unknown.each - source: '==' scopes: - keyword.operator.comparison @@ -64398,11 +67226,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' __OUTPUT_INDENT' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: ; scopes: - punctuation.terminator.statement @@ -64411,11 +67243,15 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' each' +- source: each + scopes: + - variable.other.unknown.each - source: ; scopes: - punctuation.terminator.statement @@ -64491,21 +67327,29 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' what_was_just_output ' +- source: what_was_just_output scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.what_was_just_output - source: '=' scopes: - keyword.operator.assignment -- source: ' content' +- source: content + scopes: + - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement -- source: ' content ' +- source: content + scopes: + - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment -- source: ' input_' +- source: input_ + scopes: + - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement @@ -64525,15 +67369,30 @@ - punctuation.terminator.statement scopesEnd: - meta.block.class -- source: ' stringstream __PutsOutputFixerStream' +- source: stringstream + scopes: + - variable.other.unknown.stringstream +- source: __PutsOutputFixerStream + scopes: + - variable.other.unknown.__PutsOutputFixerStream - source: ; scopes: - punctuation.terminator.statement -- source: ' __PutLinesOutputFixerStreamClass __PutLinesOutputFixerStream' +- source: __PutLinesOutputFixerStreamClass + scopes: + - variable.other.unknown.__PutLinesOutputFixerStreamClass +- source: __PutLinesOutputFixerStream + scopes: + - variable.other.unknown.__PutLinesOutputFixerStream - source: ; scopes: - punctuation.terminator.statement -- source: ' __PutLinesOutputFixerStreamClass __LogOutputFixerStream' +- source: __PutLinesOutputFixerStreamClass + scopes: + - variable.other.unknown.__PutLinesOutputFixerStreamClass +- source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ; scopes: - punctuation.terminator.statement @@ -64647,7 +67506,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'o ' +- source: o + scopes: + - variable.other.unknown.o - source: '==' scopes: - keyword.operator.comparison @@ -64655,6 +67516,8 @@ scopes: - keyword.operator.bitwise - source: __PutsOutputFixerStream + scopes: + - variable.other.unknown.__PutsOutputFixerStream - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -64683,6 +67546,8 @@ scopes: - keyword.operator.bitwise - source: mutex_for_output + scopes: + - variable.other.unknown.mutex_for_output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -64707,11 +67572,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' converter_to_string ' +- source: converter_to_string + scopes: + - variable.other.unknown.converter_to_string - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement @@ -64759,11 +67628,15 @@ - source: ' insert the indent at the begining' scopesEnd: - comment.line.double-slash -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' __OUTPUT_INDENT' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: ; scopes: - punctuation.terminator.statement @@ -64796,7 +67669,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' content_being_output' +- source: content_being_output + scopes: + - variable.other.unknown.content_being_output scopesEnd: - meta.parens.control.for - source: ) @@ -64817,7 +67692,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'each_char ' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: '==' scopes: - keyword.operator.comparison @@ -64844,11 +67721,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' __OUTPUT_INDENT' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: ; scopes: - punctuation.terminator.statement @@ -64857,11 +67738,15 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' each_char' +- source: each_char + scopes: + - variable.other.unknown.each_char - source: ; scopes: - punctuation.terminator.statement @@ -64878,7 +67763,9 @@ - source: ' send a newline at the end' scopesEnd: - comment.line.double-slash -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -64916,6 +67803,8 @@ scopes: - keyword.operator.bitwise - source: mutex_for_output + scopes: + - variable.other.unknown.mutex_for_output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -64949,7 +67838,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'o ' +- source: o + scopes: + - variable.other.unknown.o - source: '==' scopes: - keyword.operator.comparison @@ -64957,6 +67848,8 @@ scopes: - keyword.operator.bitwise - source: __PutLinesOutputFixerStream + scopes: + - variable.other.unknown.__PutLinesOutputFixerStream - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -65021,11 +67914,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' out_stream ' +- source: out_stream + scopes: + - variable.other.unknown.out_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement @@ -65041,7 +67938,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: '__OUTPUT_INDENT ' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: + scopes: - keyword.operator.arithmetic @@ -65119,7 +68018,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'o ' +- source: o + scopes: + - variable.other.unknown.o - source: '==' scopes: - keyword.operator.comparison @@ -65127,6 +68028,8 @@ scopes: - keyword.operator.bitwise - source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -65189,7 +68092,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Debugging ' +- source: Debugging + scopes: + - variable.other.unknown.Debugging - source: '==' scopes: - keyword.operator.comparison @@ -65224,11 +68129,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' out_stream ' +- source: out_stream + scopes: + - variable.other.unknown.out_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement @@ -65240,7 +68149,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: '__INCREASE_INDENT ' +- source: __INCREASE_INDENT + scopes: + - variable.other.unknown.__INCREASE_INDENT - source: '==' scopes: - keyword.operator.comparison @@ -65269,7 +68180,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: '__OUTPUT_INDENT ' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: + scopes: - keyword.operator.arithmetic @@ -65294,7 +68207,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' __OUTPUT_INDENT ' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: += scopes: - keyword.operator.assignment.compound @@ -65336,7 +68251,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: '__OUTPUT_INDENT ' +- source: __OUTPUT_INDENT + scopes: + - variable.other.unknown.__OUTPUT_INDENT - source: + scopes: - keyword.operator.arithmetic @@ -65413,7 +68330,9 @@ - source: ' dont output anything ' scopesEnd: - comment.line.double-slash -- source: ' o ' +- source: o + scopes: + - variable.other.unknown.o - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -65478,15 +68397,21 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' out_stream ' +- source: out_stream + scopes: + - variable.other.unknown.out_stream - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement -- source: ' o ' +- source: o + scopes: + - variable.other.unknown.o - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -65516,7 +68441,9 @@ - source: return scopes: - keyword.control.return -- source: ' o' +- source: o + scopes: + - variable.other.unknown.o - source: ; scopes: - punctuation.terminator.statement @@ -65641,7 +68568,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'o ' +- source: o + scopes: + - variable.other.unknown.o - source: '==' scopes: - keyword.operator.comparison @@ -65649,6 +68578,8 @@ scopes: - keyword.operator.bitwise - source: __PutLinesOutputFixerStream + scopes: + - variable.other.unknown.__PutLinesOutputFixerStream - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -65659,11 +68590,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' manip_fun' +- source: manip_fun + scopes: + - variable.other.unknown.manip_fun - source: ; scopes: - punctuation.terminator.statement @@ -65686,7 +68621,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'o ' +- source: o + scopes: + - variable.other.unknown.o - source: '==' scopes: - keyword.operator.comparison @@ -65694,6 +68631,8 @@ scopes: - keyword.operator.bitwise - source: __LogOutputFixerStream + scopes: + - variable.other.unknown.__LogOutputFixerStream - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -65712,7 +68651,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Debugging ' +- source: Debugging + scopes: + - variable.other.unknown.Debugging - source: '==' scopes: - keyword.operator.comparison @@ -65729,11 +68670,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' manip_fun' +- source: manip_fun + scopes: + - variable.other.unknown.manip_fun - source: ; scopes: - punctuation.terminator.statement @@ -65771,11 +68716,15 @@ - source: ' then just keep going like normal' scopesEnd: - comment.line.double-slash -- source: ' o ' +- source: o + scopes: + - variable.other.unknown.o - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' manip_fun' +- source: manip_fun + scopes: + - variable.other.unknown.manip_fun - source: ; scopes: - punctuation.terminator.statement @@ -65787,7 +68736,9 @@ - source: return scopes: - keyword.control.return -- source: ' o' +- source: o + scopes: + - variable.other.unknown.o - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/misc_006.spec.yaml b/language_examples/misc_006.spec.yaml index 67b75f03..67c08c96 100644 --- a/language_examples/misc_006.spec.yaml +++ b/language_examples/misc_006.spec.yaml @@ -1155,7 +1155,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1198,7 +1200,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1219,7 +1223,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1240,7 +1246,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1289,7 +1297,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -1299,7 +1309,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1328,6 +1340,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1344,6 +1358,8 @@ scopes: - keyword.operator.comparison - source: Custom + scopes: + - variable.other.unknown.Custom - source: '>' scopes: - keyword.operator.comparison @@ -1353,6 +1369,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1381,6 +1399,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1413,7 +1433,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expression ' +- source: expression + scopes: + - variable.other.unknown.expression - source: + scopes: - keyword.operator.arithmetic @@ -1423,7 +1445,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1452,6 +1476,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1468,6 +1494,8 @@ scopes: - keyword.operator.comparison - source: Custom + scopes: + - variable.other.unknown.Custom - source: '>' scopes: - keyword.operator.comparison @@ -1477,6 +1505,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1505,6 +1535,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expression + scopes: + - variable.other.unknown.expression - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1535,7 +1567,9 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement @@ -1543,7 +1577,9 @@ scopes: - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement @@ -1626,7 +1662,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -1658,7 +1696,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.delete -- source: ' a' +- source: a + scopes: + - variable.other.unknown.a - source: ; scopes: - punctuation.terminator.statement @@ -1717,6 +1757,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable + scopes: + - variable.other.unknown.a_callable - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -1733,7 +1775,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: 'array ' +- source: array + scopes: + - variable.other.unknown.array - source: '=' scopes: - keyword.operator.assignment @@ -1771,7 +1815,9 @@ - keyword.operator.delete.array.bracket scopesEnd: - keyword.operator.wordlike -- source: ' array' +- source: array + scopes: + - variable.other.unknown.array - source: ; scopes: - punctuation.terminator.statement @@ -1779,7 +1825,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' should_always_be_a_newline' +- source: should_always_be_a_newline + scopes: + - variable.other.unknown.should_always_be_a_newline - source: ; scopes: - punctuation.terminator.statement @@ -1787,7 +1835,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' deleter' +- source: deleter + scopes: + - variable.other.unknown.deleter - source: ; scopes: - punctuation.terminator.statement @@ -2032,11 +2082,15 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -2072,11 +2126,15 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift -- source: ' input' +- source: input + scopes: + - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement @@ -2220,6 +2278,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: links_to + scopes: + - variable.other.unknown.links_to - source: ; scopes: - punctuation.terminator.statement @@ -2234,6 +2294,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: name + scopes: + - variable.other.unknown.name - source: ; scopes: - punctuation.terminator.statement @@ -2309,6 +2371,7 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.other.unknown.acopy - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -2329,6 +2392,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy + scopes: + - variable.other.unknown.acopy - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -2368,6 +2433,7 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.other.unknown.acopy - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -2388,6 +2454,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy + scopes: + - variable.other.unknown.acopy - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3986,7 +4054,9 @@ - source: ) scopes: - punctuation.definition.parameters.end.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4093,7 +4163,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4120,10 +4192,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4138,6 +4214,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -4148,7 +4226,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -4159,10 +4239,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4177,6 +4261,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: endl + scopes: + - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement @@ -4291,6 +4377,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.other.unknown.vector - source: < scopesBegin: - meta.template.call @@ -4460,6 +4548,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.other.unknown.vector - source: < scopes: - punctuation.section.angle-brackets.begin.template.call @@ -4575,6 +4665,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution.template.definition - source: vector + scopes: + - variable.other.unknown.vector - source: < scopes: - punctuation.section.angle-brackets.begin.template.call @@ -4964,6 +5056,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: used + scopes: + - variable.other.unknown.used - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5058,6 +5152,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable + scopes: + - variable.other.unknown.a_callable - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -5067,7 +5163,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' used ' +- source: used + scopes: + - variable.other.unknown.used - source: '=' scopes: - keyword.operator.assignment @@ -5172,6 +5270,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: args + scopes: + - variable.other.unknown.args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5335,6 +5435,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: c + scopes: + - variable.other.unknown.c - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5347,6 +5449,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: RETURN_TYPE + scopes: + - variable.other.unknown.RETURN_TYPE - source: '*' scopes: - keyword.operator.arithmetic @@ -6802,6 +6906,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: input + scopes: + - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6843,7 +6949,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7264,7 +7372,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7300,7 +7410,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' a ' +- source: a + scopes: + - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment @@ -7413,6 +7525,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: args + scopes: + - variable.other.unknown.args - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7682,7 +7796,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: ' thing ' +- source: thing + scopes: + - variable.other.unknown.thing - source: + scopes: - keyword.operator.arithmetic @@ -7731,6 +7847,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: test + scopes: + - variable.other.unknown.test - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7812,6 +7930,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -7906,6 +8026,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8563,7 +8685,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8614,7 +8738,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8665,7 +8791,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -8695,11 +8823,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qavail ' +- source: qavail + scopes: + - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: + scopes: - keyword.operator.arithmetic @@ -8726,6 +8858,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -8755,6 +8889,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_incomplete + scopes: + - variable.other.unknown.code_escape_sequence_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -8797,23 +8933,33 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: ; scopes: - punctuation.terminator.statement @@ -8821,6 +8967,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -8917,6 +9065,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -8935,6 +9085,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -8958,6 +9110,8 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -8978,10 +9132,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -8999,6 +9157,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_invalid_hex + scopes: + - variable.other.unknown.code_escape_sequence_invalid_hex - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9045,11 +9205,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9069,11 +9233,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '*' scopes: - keyword.operator.arithmetic @@ -9083,7 +9251,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -9100,7 +9270,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -9165,6 +9337,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9222,7 +9396,9 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9236,7 +9412,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9273,7 +9451,9 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9307,14 +9487,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9326,6 +9512,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_utf_code_point_invalid + scopes: + - variable.other.unknown.code_escape_utf_code_point_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9441,7 +9629,9 @@ - source: '~' scopes: - keyword.operator.bitwise -- source: 'mask ' +- source: mask + scopes: + - variable.other.unknown.mask - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -9466,11 +9656,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' shift' +- source: shift + scopes: + - variable.other.unknown.shift - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9479,7 +9673,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' mask' +- source: mask + scopes: + - variable.other.unknown.mask - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9512,7 +9708,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9575,7 +9773,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9662,7 +9862,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -9876,7 +10078,9 @@ scopes: - keyword.control.default - source: ':' -- source: ' thing' +- source: thing + scopes: + - variable.other.unknown.thing - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/misc_asteria.spec.yaml b/language_examples/misc_asteria.spec.yaml index 54fb7c5a..737801b5 100644 --- a/language_examples/misc_asteria.spec.yaml +++ b/language_examples/misc_asteria.spec.yaml @@ -331,6 +331,7 @@ - source: xcbuf scopes: - meta.parameter.initialization + - variable.other.unknown.xcbuf - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -347,6 +348,7 @@ - source: xfile scopes: - meta.parameter.initialization + - variable.other.unknown.xfile - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -843,7 +845,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ich ' +- source: ich + scopes: + - variable.other.unknown.ich - source: '==' scopes: - keyword.operator.comparison @@ -976,7 +980,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ich ' +- source: ich + scopes: + - variable.other.unknown.ich - source: '==' scopes: - keyword.operator.comparison @@ -1052,6 +1058,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: ich + scopes: + - variable.other.unknown.ich - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1472,7 +1480,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'add ' +- source: add + scopes: + - variable.other.unknown.add - source: '>' scopes: - keyword.operator.comparison @@ -1539,6 +1549,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: add + scopes: + - variable.other.unknown.add - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1603,7 +1615,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'add ' +- source: add + scopes: + - variable.other.unknown.add - source: '>' scopes: - keyword.operator.comparison @@ -1672,7 +1686,9 @@ - source: += scopes: - keyword.operator.assignment.compound -- source: ' add' +- source: add + scopes: + - variable.other.unknown.add - source: ; scopes: - punctuation.terminator.statement @@ -1745,7 +1761,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' xoffset' +- source: xoffset + scopes: + - variable.other.unknown.xoffset - source: ; scopes: - punctuation.terminator.statement @@ -1888,11 +1906,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' length' +- source: length + scopes: + - variable.other.unknown.length - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' code' +- source: code + scopes: + - variable.other.unknown.code - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2480,7 +2502,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' xlength' +- source: xlength + scopes: + - variable.other.unknown.xlength - source: ; scopes: - punctuation.terminator.statement @@ -2668,7 +2692,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -2720,7 +2746,9 @@ - source: return scopes: - keyword.control.return -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ; scopes: - punctuation.terminator.statement @@ -2742,7 +2770,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -2774,7 +2804,9 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -2808,6 +2840,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -2825,6 +2859,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_utf8_sequence_invalid + scopes: + - variable.other.unknown.code_utf8_sequence_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2892,7 +2928,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '>=' scopes: - keyword.operator.comparison @@ -2915,7 +2953,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '>=' scopes: - keyword.operator.comparison @@ -2944,7 +2984,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'u8len ' +- source: u8len + scopes: + - variable.other.unknown.u8len - source: '>=' scopes: - keyword.operator.comparison @@ -2963,7 +3005,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'u8len ' +- source: u8len + scopes: + - variable.other.unknown.u8len - source: <= scopes: - keyword.operator.comparison @@ -2984,7 +3028,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'u8len ' +- source: u8len + scopes: + - variable.other.unknown.u8len - source: '>' scopes: - keyword.operator.comparison @@ -3031,6 +3077,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3060,6 +3108,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_utf8_sequence_incomplete + scopes: + - variable.other.unknown.code_utf8_sequence_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3079,7 +3129,9 @@ - source: ' Unset bits that are not part of the payload.' scopesEnd: - comment.line.double-slash -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '&' scopes: - keyword.operator.bitwise @@ -3104,7 +3156,9 @@ - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' u8len' +- source: u8len + scopes: + - variable.other.unknown.u8len - source: ; scopes: - punctuation.terminator.statement @@ -3137,7 +3191,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -3147,11 +3203,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' u8len' +- source: u8len + scopes: + - variable.other.unknown.u8len - source: ; scopes: - punctuation.terminator.statement @@ -3159,6 +3219,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -3195,6 +3257,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3223,7 +3287,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.other.unknown.next - source: < scopes: - keyword.operator.comparison @@ -3255,7 +3321,9 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' next' +- source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3289,10 +3357,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -3310,6 +3382,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_utf8_sequence_invalid + scopes: + - variable.other.unknown.code_utf8_sequence_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3321,7 +3395,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment @@ -3330,7 +3406,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -3350,7 +3428,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.other.unknown.next - source: '&' scopes: - keyword.operator.bitwise @@ -3400,7 +3480,9 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3414,7 +3496,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -3451,7 +3535,9 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3485,10 +3571,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' u8len' +- source: u8len + scopes: + - variable.other.unknown.u8len - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3500,6 +3590,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_utf_code_point_invalid + scopes: + - variable.other.unknown.code_utf_code_point_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3567,7 +3659,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '>=' scopes: - keyword.operator.comparison @@ -3590,7 +3684,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '>=' scopes: - keyword.operator.comparison @@ -3613,7 +3709,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '>=' scopes: - keyword.operator.comparison @@ -3644,11 +3742,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'mlen ' +- source: mlen + scopes: + - variable.other.unknown.mlen - source: '!=' scopes: - keyword.operator.comparison -- source: ' u8len' +- source: u8len + scopes: + - variable.other.unknown.u8len - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3677,10 +3779,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' u8len' +- source: u8len + scopes: + - variable.other.unknown.u8len - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3692,6 +3798,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_utf8_sequence_invalid + scopes: + - variable.other.unknown.code_utf8_sequence_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3716,6 +3824,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: u8len + scopes: + - variable.other.unknown.u8len - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3725,7 +3835,9 @@ - source: return scopes: - keyword.control.return -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ; scopes: - punctuation.terminator.statement @@ -3918,7 +4030,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' length' +- source: length + scopes: + - variable.other.unknown.length - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3952,6 +4066,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.other.unknown.xtoken - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3974,6 +4090,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: length + scopes: + - variable.other.unknown.length - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4316,6 +4434,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: lhs + scopes: + - variable.other.unknown.lhs - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4501,7 +4621,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' rhs' +- source: rhs + scopes: + - variable.other.unknown.rhs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4722,6 +4844,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_name_chars + scopes: + - variable.other.unknown.s_name_chars - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4799,7 +4923,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' bptr ' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic @@ -4846,10 +4972,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr + scopes: + - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4929,6 +5059,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_name_chars + scopes: + - variable.other.unknown.s_name_chars - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4938,7 +5070,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4993,11 +5127,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5018,6 +5156,8 @@ scopes: - keyword.operator.logical - source: keyword_as_identifier + scopes: + - variable.other.unknown.keyword_as_identifier - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5168,7 +5308,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_and ' +- source: keyword_and + scopes: + - variable.other.unknown.keyword_and - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5203,7 +5345,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_assert ' +- source: keyword_assert + scopes: + - variable.other.unknown.keyword_assert - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5238,7 +5382,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_break ' +- source: keyword_break + scopes: + - variable.other.unknown.keyword_break - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5273,7 +5419,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_case ' +- source: keyword_case + scopes: + - variable.other.unknown.keyword_case - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5308,7 +5456,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_catch ' +- source: keyword_catch + scopes: + - variable.other.unknown.keyword_catch - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5343,7 +5493,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_const ' +- source: keyword_const + scopes: + - variable.other.unknown.keyword_const - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5378,7 +5530,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_continue ' +- source: keyword_continue + scopes: + - variable.other.unknown.keyword_continue - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5413,7 +5567,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_default ' +- source: keyword_default + scopes: + - variable.other.unknown.keyword_default - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5448,7 +5604,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_defer ' +- source: keyword_defer + scopes: + - variable.other.unknown.keyword_defer - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5483,7 +5641,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_do ' +- source: keyword_do + scopes: + - variable.other.unknown.keyword_do - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5518,7 +5678,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_each ' +- source: keyword_each + scopes: + - variable.other.unknown.keyword_each - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5553,7 +5715,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_else ' +- source: keyword_else + scopes: + - variable.other.unknown.keyword_else - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5588,7 +5752,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_false ' +- source: keyword_false + scopes: + - variable.other.unknown.keyword_false - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5623,7 +5789,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_for ' +- source: keyword_for + scopes: + - variable.other.unknown.keyword_for - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5658,7 +5826,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_func ' +- source: keyword_func + scopes: + - variable.other.unknown.keyword_func - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5693,7 +5863,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_if ' +- source: keyword_if + scopes: + - variable.other.unknown.keyword_if - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5728,7 +5900,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_infinity ' +- source: keyword_infinity + scopes: + - variable.other.unknown.keyword_infinity - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5763,7 +5937,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_lengthof ' +- source: keyword_lengthof + scopes: + - variable.other.unknown.keyword_lengthof - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5798,7 +5974,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_nan ' +- source: keyword_nan + scopes: + - variable.other.unknown.keyword_nan - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5833,7 +6011,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_not ' +- source: keyword_not + scopes: + - variable.other.unknown.keyword_not - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5868,7 +6048,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_null ' +- source: keyword_null + scopes: + - variable.other.unknown.keyword_null - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5903,7 +6085,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_or ' +- source: keyword_or + scopes: + - variable.other.unknown.keyword_or - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5938,7 +6122,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_return ' +- source: keyword_return + scopes: + - variable.other.unknown.keyword_return - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -5973,7 +6159,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_switch ' +- source: keyword_switch + scopes: + - variable.other.unknown.keyword_switch - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6008,7 +6196,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_this ' +- source: keyword_this + scopes: + - variable.other.unknown.keyword_this - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6043,7 +6233,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_throw ' +- source: keyword_throw + scopes: + - variable.other.unknown.keyword_throw - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6078,7 +6270,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_true ' +- source: keyword_true + scopes: + - variable.other.unknown.keyword_true - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6113,7 +6307,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_try ' +- source: keyword_try + scopes: + - variable.other.unknown.keyword_try - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6148,7 +6344,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_typeof ' +- source: keyword_typeof + scopes: + - variable.other.unknown.keyword_typeof - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6183,7 +6381,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_unset ' +- source: keyword_unset + scopes: + - variable.other.unknown.keyword_unset - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6218,7 +6418,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_var ' +- source: keyword_var + scopes: + - variable.other.unknown.keyword_var - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6253,7 +6455,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_while ' +- source: keyword_while + scopes: + - variable.other.unknown.keyword_while - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -6318,6 +6522,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords + scopes: + - variable.other.unknown.s_keywords - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6338,6 +6544,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords + scopes: + - variable.other.unknown.s_keywords - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6406,6 +6614,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords + scopes: + - variable.other.unknown.s_keywords - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6426,6 +6636,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords + scopes: + - variable.other.unknown.s_keywords - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6656,7 +6868,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -6707,6 +6921,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr + scopes: + - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6722,7 +6938,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6804,14 +7022,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6829,6 +7053,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -6909,10 +7135,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr + scopes: + - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6931,14 +7161,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6956,6 +7192,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -7153,6 +7391,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punct_chars + scopes: + - variable.other.unknown.s_punct_chars - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7193,6 +7433,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punct_chars + scopes: + - variable.other.unknown.s_punct_chars - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -7388,7 +7630,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_notl ' +- source: punctuator_notl + scopes: + - variable.other.unknown.punctuator_notl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7423,7 +7667,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_ne ' +- source: punctuator_cmp_ne + scopes: + - variable.other.unknown.punctuator_cmp_ne - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7458,7 +7704,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_mod ' +- source: punctuator_mod + scopes: + - variable.other.unknown.punctuator_mod - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7493,7 +7741,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_mod_eq ' +- source: punctuator_mod_eq + scopes: + - variable.other.unknown.punctuator_mod_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7528,7 +7778,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_andb ' +- source: punctuator_andb + scopes: + - variable.other.unknown.punctuator_andb - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7563,7 +7815,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_andl ' +- source: punctuator_andl + scopes: + - variable.other.unknown.punctuator_andl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7598,7 +7852,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_andl_eq ' +- source: punctuator_andl_eq + scopes: + - variable.other.unknown.punctuator_andl_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7633,7 +7889,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_andb_eq ' +- source: punctuator_andb_eq + scopes: + - variable.other.unknown.punctuator_andb_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7668,7 +7926,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_parenth_op ' +- source: punctuator_parenth_op + scopes: + - variable.other.unknown.punctuator_parenth_op - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7703,7 +7963,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_parenth_cl ' +- source: punctuator_parenth_cl + scopes: + - variable.other.unknown.punctuator_parenth_cl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7738,7 +8000,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_mul ' +- source: punctuator_mul + scopes: + - variable.other.unknown.punctuator_mul - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7773,7 +8037,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_mul_eq ' +- source: punctuator_mul_eq + scopes: + - variable.other.unknown.punctuator_mul_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7808,7 +8074,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_add ' +- source: punctuator_add + scopes: + - variable.other.unknown.punctuator_add - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7843,7 +8111,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_inc ' +- source: punctuator_inc + scopes: + - variable.other.unknown.punctuator_inc - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7878,7 +8148,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_add_eq ' +- source: punctuator_add_eq + scopes: + - variable.other.unknown.punctuator_add_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7913,7 +8185,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_comma ' +- source: punctuator_comma + scopes: + - variable.other.unknown.punctuator_comma - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7948,7 +8222,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sub ' +- source: punctuator_sub + scopes: + - variable.other.unknown.punctuator_sub - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -7983,7 +8259,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_dec ' +- source: punctuator_dec + scopes: + - variable.other.unknown.punctuator_dec - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8018,7 +8296,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sub_eq ' +- source: punctuator_sub_eq + scopes: + - variable.other.unknown.punctuator_sub_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8053,7 +8333,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_dot ' +- source: punctuator_dot + scopes: + - variable.other.unknown.punctuator_dot - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8088,7 +8370,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_ellipsis ' +- source: punctuator_ellipsis + scopes: + - variable.other.unknown.punctuator_ellipsis - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8123,7 +8407,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_div ' +- source: punctuator_div + scopes: + - variable.other.unknown.punctuator_div - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8158,7 +8444,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_div_eq ' +- source: punctuator_div_eq + scopes: + - variable.other.unknown.punctuator_div_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8193,7 +8481,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_colon ' +- source: punctuator_colon + scopes: + - variable.other.unknown.punctuator_colon - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8228,7 +8518,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_semicol ' +- source: punctuator_semicol + scopes: + - variable.other.unknown.punctuator_semicol - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8263,7 +8555,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_lt ' +- source: punctuator_cmp_lt + scopes: + - variable.other.unknown.punctuator_cmp_lt - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8298,7 +8592,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sla ' +- source: punctuator_sla + scopes: + - variable.other.unknown.punctuator_sla - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8333,7 +8629,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sll ' +- source: punctuator_sll + scopes: + - variable.other.unknown.punctuator_sll - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8368,7 +8666,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sll_eq ' +- source: punctuator_sll_eq + scopes: + - variable.other.unknown.punctuator_sll_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8403,7 +8703,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sla_eq ' +- source: punctuator_sla_eq + scopes: + - variable.other.unknown.punctuator_sla_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8438,7 +8740,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_lte ' +- source: punctuator_cmp_lte + scopes: + - variable.other.unknown.punctuator_cmp_lte - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8473,7 +8777,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_spaceship ' +- source: punctuator_spaceship + scopes: + - variable.other.unknown.punctuator_spaceship - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8508,7 +8814,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_assign ' +- source: punctuator_assign + scopes: + - variable.other.unknown.punctuator_assign - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8543,7 +8851,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_eq ' +- source: punctuator_cmp_eq + scopes: + - variable.other.unknown.punctuator_cmp_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8578,7 +8888,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_gt ' +- source: punctuator_cmp_gt + scopes: + - variable.other.unknown.punctuator_cmp_gt - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8613,7 +8925,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_cmp_gte ' +- source: punctuator_cmp_gte + scopes: + - variable.other.unknown.punctuator_cmp_gte - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8648,7 +8962,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sra ' +- source: punctuator_sra + scopes: + - variable.other.unknown.punctuator_sra - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8683,7 +8999,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sra_eq ' +- source: punctuator_sra_eq + scopes: + - variable.other.unknown.punctuator_sra_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8718,7 +9036,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_srl ' +- source: punctuator_srl + scopes: + - variable.other.unknown.punctuator_srl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8753,7 +9073,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_srl_eq ' +- source: punctuator_srl_eq + scopes: + - variable.other.unknown.punctuator_srl_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8788,7 +9110,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_quest ' +- source: punctuator_quest + scopes: + - variable.other.unknown.punctuator_quest - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8823,7 +9147,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_quest_eq ' +- source: punctuator_quest_eq + scopes: + - variable.other.unknown.punctuator_quest_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8861,7 +9187,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_coales ' +- source: punctuator_coales + scopes: + - variable.other.unknown.punctuator_coales - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8900,7 +9228,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_coales_eq ' +- source: punctuator_coales_eq + scopes: + - variable.other.unknown.punctuator_coales_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8935,7 +9265,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_bracket_op ' +- source: punctuator_bracket_op + scopes: + - variable.other.unknown.punctuator_bracket_op - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -8970,7 +9302,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_bracket_cl ' +- source: punctuator_bracket_cl + scopes: + - variable.other.unknown.punctuator_bracket_cl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9005,7 +9339,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_xorb ' +- source: punctuator_xorb + scopes: + - variable.other.unknown.punctuator_xorb - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9040,7 +9376,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_xorb_eq ' +- source: punctuator_xorb_eq + scopes: + - variable.other.unknown.punctuator_xorb_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9075,7 +9413,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_brace_op ' +- source: punctuator_brace_op + scopes: + - variable.other.unknown.punctuator_brace_op - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9110,7 +9450,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_orb ' +- source: punctuator_orb + scopes: + - variable.other.unknown.punctuator_orb - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9145,7 +9487,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_orb_eq ' +- source: punctuator_orb_eq + scopes: + - variable.other.unknown.punctuator_orb_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9180,7 +9524,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_orl ' +- source: punctuator_orl + scopes: + - variable.other.unknown.punctuator_orl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9215,7 +9561,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_orl_eq ' +- source: punctuator_orl_eq + scopes: + - variable.other.unknown.punctuator_orl_eq - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9250,7 +9598,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_brace_cl ' +- source: punctuator_brace_cl + scopes: + - variable.other.unknown.punctuator_brace_cl - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9285,7 +9635,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_notb ' +- source: punctuator_notb + scopes: + - variable.other.unknown.punctuator_notb - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -9350,6 +9702,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators + scopes: + - variable.other.unknown.s_punctuators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9370,6 +9724,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators + scopes: + - variable.other.unknown.s_punctuators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9450,6 +9806,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators + scopes: + - variable.other.unknown.s_punctuators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9470,6 +9828,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators + scopes: + - variable.other.unknown.s_punctuators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9706,7 +10066,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: <= scopes: - keyword.operator.comparison @@ -9775,6 +10137,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr + scopes: + - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9790,7 +10154,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -9872,14 +10238,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9897,6 +10269,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -10172,8 +10546,10 @@ - source: '!=' scopes: - keyword.operator.comparison -- source: ' head' -- source: ) +- source: head + scopes: + - variable.other.unknown.head +- source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: @@ -10251,6 +10627,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: escapable + scopes: + - variable.other.unknown.escapable - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10324,7 +10702,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement @@ -10336,7 +10716,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qavail ' +- source: qavail + scopes: + - variable.other.unknown.qavail - source: '==' scopes: - keyword.operator.comparison @@ -10363,6 +10745,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -10392,6 +10776,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_string_literal_unclosed + scopes: + - variable.other.unknown.code_string_literal_unclosed - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10423,6 +10809,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: tlen + scopes: + - variable.other.unknown.tlen - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10435,6 +10823,8 @@ scopes: - keyword.operator.increment - source: tlen + scopes: + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement @@ -10446,11 +10836,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison -- source: ' head' +- source: head + scopes: + - variable.other.unknown.head - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10488,7 +10882,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.other.unknown.next - source: '!=' scopes: - keyword.operator.comparison @@ -10536,6 +10932,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -10569,7 +10967,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qavail ' +- source: qavail + scopes: + - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison @@ -10596,6 +10996,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -10625,6 +11027,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_incomplete + scopes: + - variable.other.unknown.code_escape_sequence_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10636,7 +11040,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' next ' +- source: next + scopes: + - variable.other.unknown.next - source: '=' scopes: - keyword.operator.assignment @@ -10649,6 +11055,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: tlen + scopes: + - variable.other.unknown.tlen - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10661,6 +11069,8 @@ scopes: - keyword.operator.increment - source: tlen + scopes: + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement @@ -10693,6 +11103,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -10800,6 +11212,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11523,7 +11937,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -11580,7 +11996,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -11637,7 +12055,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: += scopes: - keyword.operator.assignment.compound @@ -11667,11 +12087,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qavail ' +- source: qavail + scopes: + - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison -- source: ' xcnt ' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: + scopes: - keyword.operator.arithmetic @@ -11698,6 +12122,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11727,6 +12153,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_incomplete + scopes: + - variable.other.unknown.code_escape_sequence_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11769,23 +12197,33 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: ; scopes: - punctuation.terminator.statement @@ -11793,6 +12231,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -11889,6 +12329,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11907,6 +12349,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11930,6 +12374,8 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11950,10 +12396,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -11971,6 +12421,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_invalid_hex + scopes: + - variable.other.unknown.code_escape_sequence_invalid_hex - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12017,11 +12469,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12041,11 +12497,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment -- source: ' cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '*' scopes: - keyword.operator.arithmetic @@ -12055,7 +12515,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -12072,7 +12534,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -12137,6 +12601,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12194,7 +12660,9 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12208,7 +12676,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -12245,7 +12715,9 @@ - source: <= scopes: - keyword.operator.comparison -- source: ' cpnt' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12279,14 +12751,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic -- source: ' xcnt' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12298,6 +12776,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_utf_code_point_invalid + scopes: + - variable.other.unknown.code_escape_utf_code_point_invalid - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12413,7 +12893,9 @@ - source: '~' scopes: - keyword.operator.bitwise -- source: 'mask ' +- source: mask + scopes: + - variable.other.unknown.mask - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -12438,11 +12920,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' shift' +- source: shift + scopes: + - variable.other.unknown.shift - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12451,7 +12937,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: ' mask' +- source: mask + scopes: + - variable.other.unknown.mask - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -12484,7 +12972,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -12547,7 +13037,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -12634,7 +13126,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'cpnt ' +- source: cpnt + scopes: + - variable.other.unknown.cpnt - source: < scopes: - keyword.operator.comparison @@ -12864,10 +13358,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12879,6 +13377,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_escape_sequence_unknown + scopes: + - variable.other.unknown.code_escape_sequence_unknown - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12891,11 +13391,15 @@ scopesEnd: - meta.block.switch - meta.body.switch -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: += scopes: - keyword.operator.assignment.compound -- source: ' xcnt' +- source: xcnt + scopes: + - variable.other.unknown.xcnt - source: ; scopes: - punctuation.terminator.statement @@ -12972,7 +13476,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'bptr ' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic @@ -13006,7 +13512,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' head' +- source: head + scopes: + - variable.other.unknown.head - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13025,6 +13533,8 @@ scopes: - keyword.operator.logical - source: tptr + scopes: + - variable.other.unknown.tptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13045,6 +13555,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13074,6 +13586,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_string_literal_unclosed + scopes: + - variable.other.unknown.code_string_literal_unclosed - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13089,6 +13603,8 @@ scopes: - keyword.operator.increment - source: tptr + scopes: + - variable.other.unknown.tptr - source: ; scopes: - punctuation.terminator.statement @@ -13104,7 +13620,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: 'bptr ' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic @@ -13114,7 +13632,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic @@ -13127,7 +13647,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: '=' scopes: - keyword.operator.assignment @@ -13157,11 +13679,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13214,6 +13740,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13232,14 +13760,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13257,6 +13791,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -13647,6 +14183,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_punctuator + scopes: + - variable.other.unknown.index_punctuator - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -13720,6 +14258,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: S_punctuator + scopes: + - variable.other.unknown.S_punctuator - source: '>' scopes: - keyword.operator.comparison @@ -13751,6 +14291,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_add + scopes: + - variable.other.unknown.punctuator_add - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13761,7 +14303,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_sub }' +- source: punctuator_sub + scopes: + - variable.other.unknown.punctuator_sub +- source: ' }' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13942,6 +14487,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_keyword + scopes: + - variable.other.unknown.index_keyword - source: ':' scopes: - punctuation.separator.colon.case @@ -13989,6 +14536,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: S_keyword + scopes: + - variable.other.unknown.S_keyword - source: '>' scopes: - keyword.operator.comparison @@ -14058,6 +14607,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: keyword_null + scopes: + - variable.other.unknown.keyword_null - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14069,6 +14620,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: keyword_true + scopes: + - variable.other.unknown.keyword_true - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14080,6 +14633,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: keyword_false + scopes: + - variable.other.unknown.keyword_false - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14091,6 +14646,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: keyword_nan + scopes: + - variable.other.unknown.keyword_nan - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14102,6 +14659,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: keyword_infinity + scopes: + - variable.other.unknown.keyword_infinity - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14112,7 +14671,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'keyword_this }' +- source: keyword_this + scopes: + - variable.other.unknown.keyword_this +- source: ' }' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14131,6 +14693,8 @@ scopes: - keyword.operator.logical - source: mergeable + scopes: + - variable.other.unknown.mergeable - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14179,6 +14743,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_punctuator + scopes: + - variable.other.unknown.index_punctuator - source: ':' scopes: - punctuation.separator.colon.case @@ -14226,6 +14792,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: S_punctuator + scopes: + - variable.other.unknown.S_punctuator - source: '>' scopes: - keyword.operator.comparison @@ -14295,6 +14863,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_inc + scopes: + - variable.other.unknown.punctuator_inc - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14306,6 +14876,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_dec + scopes: + - variable.other.unknown.punctuator_dec - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14317,6 +14889,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_parenth_cl + scopes: + - variable.other.unknown.punctuator_parenth_cl - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14328,6 +14902,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_bracket_cl + scopes: + - variable.other.unknown.punctuator_bracket_cl - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14338,7 +14914,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'punctuator_brace_cl }' +- source: punctuator_brace_cl + scopes: + - variable.other.unknown.punctuator_brace_cl +- source: ' }' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14357,6 +14936,8 @@ scopes: - keyword.operator.logical - source: mergeable + scopes: + - variable.other.unknown.mergeable - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14405,6 +14986,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_identifier + scopes: + - variable.other.unknown.index_identifier - source: ':' scopes: - punctuation.separator.colon.case @@ -14419,6 +15002,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_integer_literal + scopes: + - variable.other.unknown.index_integer_literal - source: ':' scopes: - punctuation.separator.colon.case @@ -14433,6 +15018,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_real_literal + scopes: + - variable.other.unknown.index_real_literal - source: ':' scopes: - punctuation.separator.colon.case @@ -14447,6 +15034,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: index_string_literal + scopes: + - variable.other.unknown.index_string_literal - source: ':' scopes: - punctuation.separator.colon.case @@ -14566,7 +15155,9 @@ - source: return scopes: - keyword.control.return -- source: ' qstok' +- source: qstok + scopes: + - variable.other.unknown.qstok - source: ; scopes: - punctuation.terminator.statement @@ -14818,6 +15409,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14887,7 +15480,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' bptr ' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic @@ -14977,7 +15572,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' int_end ' +- source: int_end + scopes: + - variable.other.unknown.int_end - source: '=' scopes: - keyword.operator.assignment @@ -15014,7 +15611,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' frac_end ' +- source: frac_end + scopes: + - variable.other.unknown.frac_end - source: '=' scopes: - keyword.operator.assignment @@ -15085,7 +15684,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' exp_end ' +- source: exp_end + scopes: + - variable.other.unknown.exp_end - source: '=' scopes: - keyword.operator.assignment @@ -15120,6 +15721,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: int_begin + scopes: + - variable.other.unknown.int_begin - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -15168,7 +15771,9 @@ - source: '[' scopes: - punctuation.definition.begin.bracket.square -- source: 'int_begin ' +- source: int_begin + scopes: + - variable.other.unknown.int_begin - source: + scopes: - keyword.operator.arithmetic @@ -15195,6 +15800,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -15244,7 +15851,9 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' radix ' +- source: radix + scopes: + - variable.other.unknown.radix - source: '=' scopes: - keyword.operator.assignment @@ -15254,7 +15863,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' int_begin ' +- source: int_begin + scopes: + - variable.other.unknown.int_begin - source: += scopes: - keyword.operator.assignment.compound @@ -15308,7 +15919,9 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' radix ' +- source: radix + scopes: + - variable.other.unknown.radix - source: '=' scopes: - keyword.operator.assignment @@ -15318,7 +15931,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' int_begin ' +- source: int_begin + scopes: + - variable.other.unknown.int_begin - source: += scopes: - keyword.operator.assignment.compound @@ -15382,7 +15997,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'radix ' +- source: radix + scopes: + - variable.other.unknown.radix - source: '*' scopes: - keyword.operator.arithmetic @@ -15429,15 +16046,21 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'bptr ' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic -- source: ' int_begin' +- source: int_begin + scopes: + - variable.other.unknown.int_begin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15485,7 +16108,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ch ' +- source: ch + scopes: + - variable.other.unknown.ch - source: '==' scopes: - keyword.operator.comparison @@ -15545,14 +16170,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' max_digits' +- source: max_digits + scopes: + - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15570,7 +16201,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' int_end ' +- source: int_end + scopes: + - variable.other.unknown.int_end - source: '=' scopes: - keyword.operator.assignment @@ -15600,11 +16233,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15621,11 +16258,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'int_end ' +- source: int_end + scopes: + - variable.other.unknown.int_end - source: '==' scopes: - keyword.operator.comparison -- source: ' int_begin' +- source: int_begin + scopes: + - variable.other.unknown.int_begin - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15646,10 +16287,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' int_end' +- source: int_end + scopes: + - variable.other.unknown.int_end - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15661,6 +16306,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_numeric_literal_incomplete + scopes: + - variable.other.unknown.code_numeric_literal_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15680,19 +16327,27 @@ - source: ' Look for the fractional part.' scopesEnd: - comment.line.double-slash -- source: ' frac_begin ' +- source: frac_begin + scopes: + - variable.other.unknown.frac_begin - source: '=' scopes: - keyword.operator.assignment -- source: ' int_end' +- source: int_end + scopes: + - variable.other.unknown.int_end - source: ; scopes: - punctuation.terminator.statement -- source: ' frac_end ' +- source: frac_end + scopes: + - variable.other.unknown.frac_end - source: '=' scopes: - keyword.operator.assignment -- source: ' frac_begin' +- source: frac_begin + scopes: + - variable.other.unknown.frac_begin - source: ; scopes: - punctuation.terminator.statement @@ -15716,6 +16371,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: int_end + scopes: + - variable.other.unknown.int_end - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -15732,7 +16389,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -15761,10 +16420,14 @@ scopes: - keyword.operator.increment - source: frac_begin + scopes: + - variable.other.unknown.frac_begin - source: ; scopes: - punctuation.terminator.statement -- source: ' tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '=' scopes: - keyword.operator.assignment @@ -15781,15 +16444,21 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'bptr ' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic -- source: ' frac_begin' +- source: frac_begin + scopes: + - variable.other.unknown.frac_begin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15837,7 +16506,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ch ' +- source: ch + scopes: + - variable.other.unknown.ch - source: '==' scopes: - keyword.operator.comparison @@ -15897,14 +16568,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' max_digits' +- source: max_digits + scopes: + - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15922,7 +16599,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' frac_end ' +- source: frac_end + scopes: + - variable.other.unknown.frac_end - source: '=' scopes: - keyword.operator.assignment @@ -15952,11 +16631,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15973,11 +16656,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'frac_end ' +- source: frac_end + scopes: + - variable.other.unknown.frac_end - source: '==' scopes: - keyword.operator.comparison -- source: ' frac_begin' +- source: frac_begin + scopes: + - variable.other.unknown.frac_begin - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15998,10 +16685,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' frac_end' +- source: frac_end + scopes: + - variable.other.unknown.frac_end - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16013,6 +16704,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_numeric_literal_incomplete + scopes: + - variable.other.unknown.code_numeric_literal_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16037,23 +16730,33 @@ - source: ' Look for the exponent.' scopesEnd: - comment.line.double-slash -- source: ' exp_begin ' +- source: exp_begin + scopes: + - variable.other.unknown.exp_begin - source: '=' scopes: - keyword.operator.assignment -- source: ' frac_end' +- source: frac_end + scopes: + - variable.other.unknown.frac_end - source: ; scopes: - punctuation.terminator.statement -- source: ' exp_end ' +- source: exp_end + scopes: + - variable.other.unknown.exp_end - source: '=' scopes: - keyword.operator.assignment -- source: ' exp_begin' +- source: exp_begin + scopes: + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement -- source: ' next ' +- source: next + scopes: + - variable.other.unknown.next - source: '=' scopes: - keyword.operator.assignment @@ -16066,6 +16769,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: frac_end + scopes: + - variable.other.unknown.frac_end - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -16086,6 +16791,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -16135,7 +16842,9 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' exp_base ' +- source: exp_base + scopes: + - variable.other.unknown.exp_base - source: '=' scopes: - keyword.operator.assignment @@ -16149,6 +16858,8 @@ scopes: - keyword.operator.increment - source: exp_begin + scopes: + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement @@ -16196,7 +16907,9 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' exp_base ' +- source: exp_base + scopes: + - variable.other.unknown.exp_base - source: '=' scopes: - keyword.operator.assignment @@ -16210,6 +16923,8 @@ scopes: - keyword.operator.increment - source: exp_begin + scopes: + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement @@ -16233,7 +16948,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp_base ' +- source: exp_base + scopes: + - variable.other.unknown.exp_base - source: '!=' scopes: - keyword.operator.comparison @@ -16250,7 +16967,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' next ' +- source: next + scopes: + - variable.other.unknown.next - source: '=' scopes: - keyword.operator.assignment @@ -16263,6 +16982,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: exp_begin + scopes: + - variable.other.unknown.exp_begin - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -16283,6 +17004,8 @@ scopes: - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next + scopes: + - variable.other.unknown.next - source: ) scopes: - punctuation.section.parens.end.bracket.round.conditional.switch @@ -16315,7 +17038,9 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' exp_sign ' +- source: exp_sign + scopes: + - variable.other.unknown.exp_sign - source: '=' scopes: - keyword.operator.assignment @@ -16329,6 +17054,8 @@ scopes: - keyword.operator.increment - source: exp_begin + scopes: + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement @@ -16359,7 +17086,9 @@ - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' exp_sign ' +- source: exp_sign + scopes: + - variable.other.unknown.exp_sign - source: '=' scopes: - keyword.operator.assignment @@ -16373,6 +17102,8 @@ scopes: - keyword.operator.increment - source: exp_begin + scopes: + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement @@ -16388,7 +17119,9 @@ scopesEnd: - meta.block.switch - meta.body.switch -- source: ' tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '=' scopes: - keyword.operator.assignment @@ -16405,15 +17138,21 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'bptr ' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic -- source: ' exp_begin' +- source: exp_begin + scopes: + - variable.other.unknown.exp_begin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16461,7 +17200,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'ch ' +- source: ch + scopes: + - variable.other.unknown.ch - source: '==' scopes: - keyword.operator.comparison @@ -16521,6 +17262,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16530,7 +17273,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16548,7 +17293,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' exp_end ' +- source: exp_end + scopes: + - variable.other.unknown.exp_end - source: '=' scopes: - keyword.operator.assignment @@ -16578,11 +17325,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16599,11 +17350,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp_end ' +- source: exp_end + scopes: + - variable.other.unknown.exp_end - source: '==' scopes: - keyword.operator.comparison -- source: ' exp_begin' +- source: exp_begin + scopes: + - variable.other.unknown.exp_begin - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16624,10 +17379,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' exp_end' +- source: exp_end + scopes: + - variable.other.unknown.exp_end - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16639,6 +17398,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_numeric_literal_incomplete + scopes: + - variable.other.unknown.code_numeric_literal_incomplete - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16703,7 +17464,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '=' scopes: - keyword.operator.assignment @@ -16720,15 +17483,21 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'bptr ' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic -- source: ' exp_end' +- source: exp_end + scopes: + - variable.other.unknown.exp_end - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16808,6 +17577,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_suffix_chars + scopes: + - variable.other.unknown.s_suffix_chars - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16817,7 +17588,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ch' +- source: ch + scopes: + - variable.other.unknown.ch - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16872,11 +17645,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16893,11 +17670,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: '!=' scopes: - keyword.operator.comparison -- source: ' exp_end' +- source: exp_end + scopes: + - variable.other.unknown.exp_end - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16918,10 +17699,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16933,6 +17718,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_numeric_literal_suffix_disallowed + scopes: + - variable.other.unknown.code_numeric_literal_suffix_disallowed - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16983,19 +17770,27 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' exp_begin' +- source: exp_begin + scopes: + - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison -- source: ' exp_end' +- source: exp_end + scopes: + - variable.other.unknown.exp_end - source: ; scopes: - punctuation.terminator.statement @@ -17003,6 +17798,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -17063,6 +17860,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17081,6 +17880,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -17104,6 +17905,8 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17160,11 +17963,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17200,11 +18007,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'INT_MAX ' +- source: INT_MAX + scopes: + - variable.other.unknown.INT_MAX - source: '-' scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17227,11 +18038,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp ' +- source: exp + scopes: + - variable.other.unknown.exp - source: '>' scopes: - keyword.operator.comparison -- source: ' bound' +- source: bound + scopes: + - variable.other.unknown.bound - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17252,10 +18067,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17267,6 +18086,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_numeric_literal_exponent_overflow + scopes: + - variable.other.unknown.code_numeric_literal_exponent_overflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17278,11 +18099,15 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' exp ' +- source: exp + scopes: + - variable.other.unknown.exp - source: '=' scopes: - keyword.operator.assignment -- source: ' exp ' +- source: exp + scopes: + - variable.other.unknown.exp - source: '*' scopes: - keyword.operator.arithmetic @@ -17292,7 +18117,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -17310,6 +18137,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: exp_sign + scopes: + - variable.other.unknown.exp_sign - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17320,7 +18149,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' exp ' +- source: exp + scopes: + - variable.other.unknown.exp - source: '=' scopes: - keyword.operator.assignment @@ -17328,6 +18159,8 @@ scopes: - keyword.operator.arithmetic - source: exp + scopes: + - variable.other.unknown.exp - source: ; scopes: - punctuation.terminator.statement @@ -17355,7 +18188,9 @@ - source: '!' scopes: - keyword.operator.logical -- source: 'integer_as_real ' +- source: integer_as_real + scopes: + - variable.other.unknown.integer_as_real - source: '&&' scopes: - keyword.operator.logical @@ -17364,11 +18199,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'frac_begin ' +- source: frac_begin + scopes: + - variable.other.unknown.frac_begin - source: '==' scopes: - keyword.operator.comparison -- source: ' int_end' +- source: int_end + scopes: + - variable.other.unknown.int_end - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17404,7 +18243,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp ' +- source: exp + scopes: + - variable.other.unknown.exp - source: < scopes: - keyword.operator.comparison @@ -17431,10 +18272,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17446,6 +18291,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_integer_literal_exponent_negative + scopes: + - variable.other.unknown.code_integer_literal_exponent_negative - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17506,19 +18353,27 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' int_begin' +- source: int_begin + scopes: + - variable.other.unknown.int_begin - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison -- source: ' int_end' +- source: int_end + scopes: + - variable.other.unknown.int_end - source: ; scopes: - punctuation.terminator.statement @@ -17526,6 +18381,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -17586,10 +18443,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' max_digits' +- source: max_digits + scopes: + - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17602,6 +18463,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -17625,6 +18488,8 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17688,11 +18553,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17769,7 +18638,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17798,6 +18669,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: radix + scopes: + - variable.other.unknown.radix - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17814,11 +18687,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.other.unknown.value - source: '>' scopes: - keyword.operator.comparison -- source: ' bound' +- source: bound + scopes: + - variable.other.unknown.bound - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17839,10 +18716,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17854,6 +18735,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_integer_literal_overflow + scopes: + - variable.other.unknown.code_integer_literal_overflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17865,11 +18748,15 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' value ' +- source: value + scopes: + - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment -- source: ' value ' +- source: value + scopes: + - variable.other.unknown.value - source: '*' scopes: - keyword.operator.arithmetic @@ -17893,6 +18780,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: radix + scopes: + - variable.other.unknown.radix - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17901,7 +18790,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -17926,7 +18817,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.other.unknown.value - source: '!=' scopes: - keyword.operator.comparison @@ -17957,7 +18850,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -17967,11 +18862,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' exp' +- source: exp + scopes: + - variable.other.unknown.exp - source: ; scopes: - punctuation.terminator.statement @@ -17979,6 +18878,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -18063,6 +18964,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: exp_base + scopes: + - variable.other.unknown.exp_base - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18079,11 +18982,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.other.unknown.value - source: '>' scopes: - keyword.operator.comparison -- source: ' bound' +- source: bound + scopes: + - variable.other.unknown.bound - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18104,10 +19011,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18119,6 +19030,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_integer_literal_overflow + scopes: + - variable.other.unknown.code_integer_literal_overflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18130,7 +19043,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' value ' +- source: value + scopes: + - variable.other.unknown.value - source: '*=' scopes: - keyword.operator.assignment.compound @@ -18154,6 +19069,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: exp_base + scopes: + - variable.other.unknown.exp_base - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18198,10 +19115,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18234,7 +19155,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qstok ' +- source: qstok + scopes: + - variable.other.unknown.qstok - source: '&&' scopes: - keyword.operator.logical @@ -18258,6 +19181,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: S_punctuator + scopes: + - variable.other.unknown.S_punctuator - source: '>' scopes: - keyword.operator.comparison @@ -18288,6 +19213,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_sub + scopes: + - variable.other.unknown.punctuator_sub - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18296,7 +19223,9 @@ - source: '?' scopes: - keyword.operator.ternary -- source: ' UINT64_MAX ' +- source: UINT64_MAX + scopes: + - variable.other.unknown.UINT64_MAX - source: ':' scopes: - keyword.operator.ternary @@ -18327,7 +19256,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.other.unknown.value - source: '==' scopes: - keyword.operator.comparison @@ -18372,7 +19303,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'smask ' +- source: smask + scopes: + - variable.other.unknown.smask - source: '==' scopes: - keyword.operator.comparison @@ -18404,10 +19337,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18419,6 +19356,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_integer_literal_overflow + scopes: + - variable.other.unknown.code_integer_literal_overflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18439,6 +19378,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: qstok + scopes: + - variable.other.unknown.qstok - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18457,7 +19398,9 @@ - source: ' Overwrite the previous token.' scopesEnd: - comment.line.double-slash -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: += scopes: - keyword.operator.assignment.compound @@ -18530,7 +19473,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' qstok ' +- source: qstok + scopes: + - variable.other.unknown.qstok - source: '=' scopes: - keyword.operator.assignment @@ -18627,11 +19572,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.other.unknown.value - source: ^ scopes: - keyword.operator.bitwise -- source: ' smask' +- source: smask + scopes: + - variable.other.unknown.smask - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18640,7 +19589,9 @@ - source: '-' scopes: - keyword.operator.arithmetic -- source: ' smask' +- source: smask + scopes: + - variable.other.unknown.smask - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18661,14 +19612,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18686,6 +19643,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -18769,19 +19728,27 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' int_begin' +- source: int_begin + scopes: + - variable.other.unknown.int_begin - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison -- source: ' int_end' +- source: int_end + scopes: + - variable.other.unknown.int_end - source: ; scopes: - punctuation.terminator.statement @@ -18789,6 +19756,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -18849,10 +19818,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' max_digits' +- source: max_digits + scopes: + - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -18865,6 +19838,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -18888,6 +19863,8 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18944,11 +19921,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -18968,30 +19949,42 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' value ' +- source: value + scopes: + - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment -- source: ' value ' +- source: value + scopes: + - variable.other.unknown.value - source: '*' scopes: - keyword.operator.arithmetic -- source: ' radix ' +- source: radix + scopes: + - variable.other.unknown.radix - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement -- source: ' zero ' +- source: zero + scopes: + - variable.other.unknown.zero - source: '|' scopes: - keyword.operator.bitwise - source: '=' scopes: - keyword.operator.assignment -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -19039,11 +20032,15 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' frac_end ' +- source: frac_end + scopes: + - variable.other.unknown.frac_end - source: '-' scopes: - keyword.operator.arithmetic @@ -19053,7 +20050,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -19063,7 +20062,9 @@ - source: '!=' scopes: - keyword.operator.comparison -- source: ' frac_begin' +- source: frac_begin + scopes: + - variable.other.unknown.frac_begin - source: ; scopes: - punctuation.terminator.statement @@ -19071,6 +20072,8 @@ scopes: - keyword.operator.decrement - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -19131,10 +20134,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' max_digits' +- source: max_digits + scopes: + - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -19147,6 +20154,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -19170,6 +20179,8 @@ scopes: - keyword.operator.logical - source: dptr + scopes: + - variable.other.unknown.dptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19226,11 +20237,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'dptr ' +- source: dptr + scopes: + - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' s_digits' +- source: s_digits + scopes: + - variable.other.unknown.s_digits - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19250,7 +20265,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' frac ' +- source: frac + scopes: + - variable.other.unknown.frac - source: '=' scopes: - keyword.operator.assignment @@ -19259,11 +20276,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'frac ' +- source: frac + scopes: + - variable.other.unknown.frac - source: + scopes: - keyword.operator.arithmetic -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19272,18 +20293,24 @@ - source: / scopes: - keyword.operator.arithmetic -- source: ' radix' +- source: radix + scopes: + - variable.other.unknown.radix - source: ; scopes: - punctuation.terminator.statement -- source: ' zero ' +- source: zero + scopes: + - variable.other.unknown.zero - source: '|' scopes: - keyword.operator.bitwise - source: '=' scopes: - keyword.operator.assignment -- source: ' dvalue' +- source: dvalue + scopes: + - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement @@ -19292,11 +20319,15 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' value ' +- source: value + scopes: + - variable.other.unknown.value - source: += scopes: - keyword.operator.assignment.compound -- source: ' frac' +- source: frac + scopes: + - variable.other.unknown.frac - source: ; scopes: - punctuation.terminator.statement @@ -19316,11 +20347,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp_base ' +- source: exp_base + scopes: + - variable.other.unknown.exp_base - source: '==' scopes: - keyword.operator.comparison -- source: ' FLT_RADIX' +- source: FLT_RADIX + scopes: + - variable.other.unknown.FLT_RADIX - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19331,7 +20366,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' value ' +- source: value + scopes: + - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment @@ -19349,10 +20386,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' exp' +- source: exp + scopes: + - variable.other.unknown.exp - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19396,7 +20437,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'exp_base ' +- source: exp_base + scopes: + - variable.other.unknown.exp_base - source: '==' scopes: - keyword.operator.comparison @@ -19413,7 +20456,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' value ' +- source: value + scopes: + - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment @@ -19431,10 +20476,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' exp' +- source: exp + scopes: + - variable.other.unknown.exp - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19462,11 +20511,15 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' value ' +- source: value + scopes: + - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment -- source: ' value ' +- source: value + scopes: + - variable.other.unknown.value - source: '*' scopes: - keyword.operator.arithmetic @@ -19484,10 +20537,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: exp_base + scopes: + - variable.other.unknown.exp_base - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' exp' +- source: exp + scopes: + - variable.other.unknown.exp - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19532,6 +20589,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19546,11 +20605,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'fpc ' +- source: fpc + scopes: + - variable.other.unknown.fpc - source: '==' scopes: - keyword.operator.comparison -- source: ' FP_INFINITE' +- source: FP_INFINITE + scopes: + - variable.other.unknown.FP_INFINITE - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19571,10 +20634,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -19586,6 +20653,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_real_literal_overflow + scopes: + - variable.other.unknown.code_real_literal_overflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19610,11 +20679,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'fpc ' +- source: fpc + scopes: + - variable.other.unknown.fpc - source: '==' scopes: - keyword.operator.comparison -- source: ' FP_ZERO' +- source: FP_ZERO + scopes: + - variable.other.unknown.FP_ZERO - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19627,6 +20700,8 @@ scopesEnd: - keyword.operator.logical - source: zero + scopes: + - variable.other.unknown.zero - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19647,10 +20722,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -19662,6 +20741,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_real_literal_underflow + scopes: + - variable.other.unknown.code_real_literal_underflow - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19699,10 +20780,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -19725,7 +20810,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'qstok ' +- source: qstok + scopes: + - variable.other.unknown.qstok - source: '&&' scopes: - keyword.operator.logical @@ -19749,6 +20836,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: S_punctuator + scopes: + - variable.other.unknown.S_punctuator - source: '>' scopes: - keyword.operator.comparison @@ -19779,6 +20868,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: punctuator_sub + scopes: + - variable.other.unknown.punctuator_sub - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19811,6 +20902,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: qstok + scopes: + - variable.other.unknown.qstok - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19829,7 +20922,9 @@ - source: ' Overwrite the previous token.' scopesEnd: - comment.line.double-slash -- source: ' tlen ' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: += scopes: - keyword.operator.assignment.compound @@ -19902,7 +20997,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' qstok ' +- source: qstok + scopes: + - variable.other.unknown.qstok - source: '=' scopes: - keyword.operator.assignment @@ -19982,10 +21079,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' fmask' +- source: fmask + scopes: + - variable.other.unknown.fmask - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20004,14 +21105,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' tlen' +- source: tlen + scopes: + - variable.other.unknown.tlen - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -20029,6 +21136,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken + scopes: + - variable.other.unknown.xtoken - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -20254,10 +21363,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: cbuf + scopes: + - variable.other.unknown.cbuf - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' file' +- source: file + scopes: + - variable.other.unknown.file - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20558,6 +21671,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20663,6 +21778,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: bcomm + scopes: + - variable.other.unknown.bcomm - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -20788,7 +21905,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' bptr ' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic @@ -20835,18 +21954,26 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr + scopes: + - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' eptr' +- source: eptr + scopes: + - variable.other.unknown.eptr - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s_bcomm_term' +- source: s_bcomm_term + scopes: + - variable.other.unknown.s_bcomm_term - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s_bcomm_term ' +- source: s_bcomm_term + scopes: + - variable.other.unknown.s_bcomm_term - source: + scopes: - keyword.operator.arithmetic @@ -20867,11 +21994,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '==' scopes: - keyword.operator.comparison -- source: ' eptr' +- source: eptr + scopes: + - variable.other.unknown.eptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -20934,7 +22065,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: += scopes: - keyword.operator.assignment.compound @@ -21008,11 +22141,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'tptr ' +- source: tptr + scopes: + - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic -- source: ' bptr' +- source: bptr + scopes: + - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -21144,7 +22281,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' head' +- source: head + scopes: + - variable.other.unknown.head - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21212,7 +22351,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'head ' +- source: head + scopes: + - variable.other.unknown.head - source: '==' scopes: - keyword.operator.comparison @@ -21277,7 +22418,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -21362,7 +22505,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'next ' +- source: next + scopes: + - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison @@ -21408,6 +22553,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -21475,10 +22622,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -21504,10 +22655,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21521,10 +22676,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -21560,10 +22719,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -21605,10 +22768,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' reader' +- source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -21639,6 +22806,8 @@ scopes: - keyword.operator.logical - source: token_got + scopes: + - variable.other.unknown.token_got - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -21700,6 +22869,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: reader + scopes: + - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -21717,6 +22888,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_token_character_unrecognized + scopes: + - variable.other.unknown.code_token_character_unrecognized - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21765,6 +22938,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: bcomm + scopes: + - variable.other.unknown.bcomm - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -21854,6 +23029,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_block_comment_unclosed + scopes: + - variable.other.unknown.code_block_comment_unclosed - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21959,6 +23136,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: seq + scopes: + - variable.other.unknown.seq - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21989,10 +23168,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: Parser_Error + scopes: + - variable.other.unknown.Parser_Error - source: '&' scopes: - keyword.operator.bitwise -- source: ' err' +- source: err + scopes: + - variable.other.unknown.err - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -22255,6 +23438,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: err + scopes: + - variable.other.unknown.err - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22409,7 +23594,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_empty' +- source: state_empty + scopes: + - variable.other.unknown.state_empty - source: ':' scopes: - punctuation.separator.colon.case @@ -22455,6 +23642,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_no_data_loaded + scopes: + - variable.other.unknown.code_no_data_loaded - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22471,7 +23660,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_error' +- source: state_error + scopes: + - variable.other.unknown.state_error - source: ':' scopes: - punctuation.separator.colon.case @@ -22504,6 +23695,8 @@ scopes: - keyword.operator.comparison - source: Parser_Error + scopes: + - variable.other.unknown.Parser_Error - source: '>' scopes: - keyword.operator.comparison @@ -22530,7 +23723,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_success' +- source: state_success + scopes: + - variable.other.unknown.state_success - source: ':' scopes: - punctuation.separator.colon.case @@ -22576,6 +23771,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: code_success + scopes: + - variable.other.unknown.code_success - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22740,7 +23937,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_empty' +- source: state_empty + scopes: + - variable.other.unknown.state_empty - source: ':' scopes: - punctuation.separator.colon.case @@ -22770,7 +23969,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_error' +- source: state_error + scopes: + - variable.other.unknown.state_error - source: ':' scopes: - punctuation.separator.colon.case @@ -22800,7 +24001,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_success' +- source: state_success + scopes: + - variable.other.unknown.state_success - source: ':' scopes: - punctuation.separator.colon.case @@ -22833,10 +24036,14 @@ scopes: - keyword.operator.comparison - source: Cow_Vector + scopes: + - variable.other.unknown.Cow_Vector - source: < scopes: - keyword.operator.comparison - source: Token + scopes: + - variable.other.unknown.Token - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -23025,7 +24232,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_empty' +- source: state_empty + scopes: + - variable.other.unknown.state_empty - source: ':' scopes: - punctuation.separator.colon.case @@ -23069,7 +24278,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_error' +- source: state_error + scopes: + - variable.other.unknown.state_error - source: ':' scopes: - punctuation.separator.colon.case @@ -23113,7 +24324,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_success' +- source: state_success + scopes: + - variable.other.unknown.state_success - source: ':' scopes: - punctuation.separator.colon.case @@ -23157,10 +24370,14 @@ scopes: - keyword.operator.comparison - source: Cow_Vector + scopes: + - variable.other.unknown.Cow_Vector - source: < scopes: - keyword.operator.comparison - source: Token + scopes: + - variable.other.unknown.Token - source: '>>' scopes: - keyword.operator.bitwise.shift @@ -23410,7 +24627,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_empty' +- source: state_empty + scopes: + - variable.other.unknown.state_empty - source: ':' scopes: - punctuation.separator.colon.case @@ -23454,7 +24673,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_error' +- source: state_error + scopes: + - variable.other.unknown.state_error - source: ':' scopes: - punctuation.separator.colon.case @@ -23498,7 +24719,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' state_success' +- source: state_success + scopes: + - variable.other.unknown.state_success - source: ':' scopes: - punctuation.separator.colon.case @@ -23542,10 +24765,14 @@ scopes: - keyword.operator.comparison - source: Cow_Vector + scopes: + - variable.other.unknown.Cow_Vector - source: < scopes: - keyword.operator.comparison - source: Token + scopes: + - variable.other.unknown.Token - source: '>>' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/misc_test.spec.yaml b/language_examples/misc_test.spec.yaml index 9a0cbb22..4576a6d8 100644 --- a/language_examples/misc_test.spec.yaml +++ b/language_examples/misc_test.spec.yaml @@ -70,7 +70,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' height' +- source: height + scopes: + - variable.other.unknown.height - source: ; scopes: - punctuation.terminator.statement @@ -151,11 +153,15 @@ - meta.body.function.definition scopes: - keyword.control.return -- source: ' width' +- source: width + scopes: + - variable.other.unknown.width - source: '*' scopes: - keyword.operator.arithmetic - source: height + scopes: + - variable.other.unknown.height - source: ; scopes: - punctuation.terminator.statement @@ -228,21 +234,29 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: ' width ' +- source: width scopesBegin: - meta.body.function.definition + scopes: + - variable.other.unknown.width - source: '=' scopes: - keyword.operator.assignment -- source: ' x' +- source: x + scopes: + - variable.other.unknown.x - source: ; scopes: - punctuation.terminator.statement -- source: ' height ' +- source: height + scopes: + - variable.other.unknown.height - source: '=' scopes: - keyword.operator.assignment -- source: ' y' +- source: 'y' + scopes: + - variable.other.unknown.y - source: ; scopes: - punctuation.terminator.statement @@ -311,7 +325,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/operator_overload_implicit_const.spec.yaml b/language_examples/operator_overload_implicit_const.spec.yaml index ff548bd4..8ca1747e 100644 --- a/language_examples/operator_overload_implicit_const.spec.yaml +++ b/language_examples/operator_overload_implicit_const.spec.yaml @@ -273,6 +273,8 @@ scopes: - keyword.operator.bitwise - source: symbol + scopes: + - variable.other.unknown.symbol scopesEnd: - meta.parameter.initialization - source: ) @@ -357,11 +359,15 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: 's ' +- source: s + scopes: + - variable.other.unknown.s - source: '==' scopes: - keyword.operator.comparison -- source: ' s2' +- source: s2 + scopes: + - variable.other.unknown.s2 - source: ; scopes: - punctuation.terminator.statement @@ -422,6 +428,8 @@ scopes: - keyword.operator.arithmetic - source: s + scopes: + - variable.other.unknown.s - source: ; scopes: - punctuation.terminator.statement @@ -478,6 +486,8 @@ scopes: - keyword.operator.arithmetic - source: s + scopes: + - variable.other.unknown.s - source: ; scopes: - punctuation.terminator.statement @@ -667,6 +677,7 @@ - source: id scopes: - meta.parameter.initialization + - variable.other.unknown.id - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -767,7 +778,9 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' id ' +- source: id + scopes: + - variable.other.unknown.id - source: '>' scopes: - keyword.operator.comparison @@ -832,7 +845,9 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' id ' +- source: id + scopes: + - variable.other.unknown.id - source: < scopes: - keyword.operator.comparison @@ -903,7 +918,9 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' id ' +- source: id + scopes: + - variable.other.unknown.id - source: '==' scopes: - keyword.operator.comparison @@ -974,7 +991,9 @@ - meta.body.function.definition.special.operator-overload scopes: - keyword.control.return -- source: ' id ' +- source: id + scopes: + - variable.other.unknown.id - source: '!=' scopes: - keyword.operator.comparison @@ -1265,6 +1284,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -1279,7 +1300,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'it ' +- source: it + scopes: + - variable.other.unknown.it - source: '!=' scopes: - keyword.operator.comparison @@ -1355,10 +1378,14 @@ scopes: - punctuation.definition.begin.bracket.square - source: rawSym + scopes: + - variable.other.unknown.rawSym - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' idx' +- source: idx + scopes: + - variable.other.unknown.idx - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1393,6 +1420,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1415,6 +1444,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: rawSym + scopes: + - variable.other.unknown.rawSym - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -1435,10 +1466,14 @@ scopes: - keyword.operator.bitwise - source: rawSym + scopes: + - variable.other.unknown.rawSym - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' idx' +- source: idx + scopes: + - variable.other.unknown.idx - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1457,7 +1492,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'idx ' +- source: idx + scopes: + - variable.other.unknown.idx - source: + scopes: - keyword.operator.arithmetic @@ -1648,7 +1685,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' symbols' +- source: symbols + scopes: + - variable.other.unknown.symbols scopesEnd: - meta.parens.control.for - source: ) @@ -1690,6 +1729,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: sym + scopes: + - variable.other.unknown.sym - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1704,7 +1745,9 @@ - source: return scopes: - keyword.control.return -- source: ' result' +- source: result + scopes: + - variable.other.unknown.result - source: ; scopes: - punctuation.terminator.statement @@ -2029,6 +2072,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: callback + scopes: + - variable.other.unknown.callback - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member diff --git a/language_examples/pr_161.spec.yaml b/language_examples/pr_161.spec.yaml index 74fa2787..7a4d723d 100644 --- a/language_examples/pr_161.spec.yaml +++ b/language_examples/pr_161.spec.yaml @@ -61,17 +61,23 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.decltype -- source: 'a ' +- source: a scopesBegin: - meta.arguments.decltype + scopes: + - variable.other.unknown.a - source: '?' scopes: - keyword.operator.ternary -- source: ' b ' +- source: b + scopes: + - variable.other.unknown.b - source: ':' scopes: - keyword.operator.ternary -- source: ' c' +- source: c + scopes: + - variable.other.unknown.c scopesEnd: - meta.arguments.decltype - source: ) @@ -161,17 +167,23 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.decltype -- source: 'a ' +- source: a scopesBegin: - meta.arguments.decltype + scopes: + - variable.other.unknown.a - source: '?' scopes: - keyword.operator.ternary -- source: ' b ' +- source: b + scopes: + - variable.other.unknown.b - source: ':' scopes: - keyword.operator.ternary -- source: ' c' +- source: c + scopes: + - variable.other.unknown.c scopesEnd: - meta.arguments.decltype - source: ) @@ -277,17 +289,23 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.decltype -- source: 'a ' +- source: a scopesBegin: - meta.arguments.decltype + scopes: + - variable.other.unknown.a - source: '?' scopes: - keyword.operator.ternary -- source: ' b ' +- source: b + scopes: + - variable.other.unknown.b - source: ':' scopes: - keyword.operator.ternary -- source: ' c' +- source: c + scopes: + - variable.other.unknown.c scopesEnd: - meta.arguments.decltype - source: ) diff --git a/language_examples/pr_431.spec.yaml b/language_examples/pr_431.spec.yaml index 2ed349a8..30316751 100644 --- a/language_examples/pr_431.spec.yaml +++ b/language_examples/pr_431.spec.yaml @@ -8,7 +8,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: 'octal_escape_test ' +- source: octal_escape_test + scopes: + - variable.other.unknown.octal_escape_test - source: '=' scopes: - keyword.operator.assignment diff --git a/language_examples/pr_435.spec.yaml b/language_examples/pr_435.spec.yaml index 7bd0ec43..b19ae00f 100644 --- a/language_examples/pr_435.spec.yaml +++ b/language_examples/pr_435.spec.yaml @@ -127,6 +127,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.other.unknown.data - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -146,6 +148,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: socket + scopes: + - variable.other.unknown.socket - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -156,10 +160,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: data + scopes: + - variable.other.unknown.data - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -255,7 +263,9 @@ - source: co_yield scopes: - keyword.control.co_yield -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ++ scopes: - keyword.operator.increment diff --git a/language_examples/ranged_for.spec.yaml b/language_examples/ranged_for.spec.yaml index 1048c5c4..e54e35ee 100644 --- a/language_examples/ranged_for.spec.yaml +++ b/language_examples/ranged_for.spec.yaml @@ -461,11 +461,15 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' Path ' +- source: Path + scopes: + - variable.other.unknown.Path - source: '&' scopes: - keyword.operator.bitwise -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -494,7 +498,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -508,6 +514,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -643,7 +651,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context scopesEnd: - meta.parens.control.for - source: ) @@ -666,10 +676,14 @@ scopes: - punctuation.definition.begin.bracket.square - source: ctx + scopes: + - variable.other.unknown.ctx - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' outputName' +- source: outputName + scopes: + - variable.other.unknown.outputName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -688,10 +702,14 @@ scopes: - keyword.operator.arithmetic - source: store + scopes: + - variable.other.unknown.store - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -722,6 +740,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: ctx + scopes: + - variable.other.unknown.ctx - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -752,6 +772,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: ctx + scopes: + - variable.other.unknown.ctx - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -785,6 +807,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: ctx + scopes: + - variable.other.unknown.ctx - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -863,11 +887,18 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: '{ctx' +- source: '{' +- source: ctx + scopes: + - variable.other.unknown.ctx - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' {outputName}}' +- source: ' {' +- source: outputName + scopes: + - variable.other.unknown.outputName +- source: '}}' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -900,10 +931,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: ctxS + scopes: + - variable.other.unknown.ctxS - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ctxS' +- source: ctxS + scopes: + - variable.other.unknown.ctxS - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -1134,7 +1169,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' drvs' +- source: drvs + scopes: + - variable.other.unknown.drvs scopesEnd: - meta.parens.control.for - source: ) @@ -1154,7 +1191,14 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: 'DerivedPath { d }' +- source: DerivedPath + scopes: + - variable.other.unknown.DerivedPath +- source: ' { ' +- source: d + scopes: + - variable.other.unknown.d +- source: ' }' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -1174,6 +1218,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: buildReqs + scopes: + - variable.other.unknown.buildReqs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -1230,7 +1276,9 @@ - punctuation.separator.colon.range-based scopesEnd: - meta.binding -- source: ' drvs' +- source: drvs + scopes: + - variable.other.unknown.drvs scopesEnd: - meta.parens.control.for - source: ) @@ -1270,6 +1318,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPath + scopes: + - variable.other.unknown.drvPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -1300,7 +1350,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' outputs' +- source: outputs + scopes: + - variable.other.unknown.outputs scopesEnd: - meta.parens.control.for - source: ) @@ -1331,10 +1383,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: outputPaths + scopes: + - variable.other.unknown.outputPaths - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' outputName' +- source: outputName + scopes: + - variable.other.unknown.outputName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1353,6 +1409,8 @@ scopes: - keyword.operator.logical - source: outputPath + scopes: + - variable.other.unknown.outputPath - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1405,13 +1463,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPath + scopes: + - variable.other.unknown.drvPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' outputName' +- source: outputName + scopes: + - variable.other.unknown.outputName - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -1443,14 +1505,20 @@ scopes: - keyword.operator.arithmetic - source: store + scopes: + - variable.other.unknown.store - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drvPath' +- source: drvPath + scopes: + - variable.other.unknown.drvPath - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' outputName' +- source: outputName + scopes: + - variable.other.unknown.outputName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1473,6 +1541,8 @@ scopes: - keyword.operator.arithmetic - source: outputPath + scopes: + - variable.other.unknown.outputPath - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -1513,6 +1583,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: allowedPaths + scopes: + - variable.other.unknown.allowedPaths - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1562,7 +1634,9 @@ - punctuation.separator.colon.range-based scopesEnd: - meta.binding -- source: ' res' +- source: res + scopes: + - variable.other.unknown.res scopesEnd: - meta.parens.control.for - source: ) @@ -1594,6 +1668,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: outputPath + scopes: + - variable.other.unknown.outputPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -1616,7 +1692,9 @@ - source: return scopes: - keyword.control.return -- source: ' res' +- source: res + scopes: + - variable.other.unknown.res - source: ; scopes: - punctuation.terminator.statement @@ -1827,14 +1905,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -1854,11 +1938,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Error ' +- source: Error + scopes: + - variable.other.unknown.Error - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -1896,6 +1984,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -1981,6 +2071,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -2017,17 +2109,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' rewrites' +- source: rewrites + scopes: + - variable.other.unknown.rewrites - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -2062,13 +2160,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: realPath + scopes: + - variable.other.unknown.realPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ':' scopes: - keyword.operator.ternary -- source: ' realPath' +- source: realPath + scopes: + - variable.other.unknown.realPath - source: ; scopes: - punctuation.terminator.statement @@ -2085,11 +2187,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Error ' +- source: Error + scopes: + - variable.other.unknown.Error - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -2127,6 +2233,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -2153,7 +2261,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -2436,7 +2546,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: ' optOutputPath' +- source: optOutputPath + scopes: + - variable.other.unknown.optOutputPath - source: '?' scopes: - keyword.operator.ternary @@ -2462,6 +2574,8 @@ scopes: - keyword.operator.arithmetic - source: optOutputPath + scopes: + - variable.other.unknown.optOutputPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -2509,7 +2623,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drvPath' +- source: drvPath + scopes: + - variable.other.unknown.drvPath - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -2588,6 +2704,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPath + scopes: + - variable.other.unknown.drvPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -2625,47 +2743,70 @@ - storage.type.primitive - storage.type.built-in.primitive - source: import + scopes: + - variable.other.unknown.import - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'EvalState ' +- source: EvalState + scopes: + - variable.other.unknown.EvalState - source: '&' scopes: - keyword.operator.bitwise -- source: ' state' +- source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: const scopes: - storage.modifier.specifier.const -- source: ' PosIdx pos' +- source: PosIdx + scopes: + - variable.other.unknown.PosIdx +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '&' scopes: - keyword.operator.bitwise -- source: ' vPath' +- source: vPath + scopes: + - variable.other.unknown.vPath - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic -- source: ' vScope' +- source: vScope + scopes: + - variable.other.unknown.vScope - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '&' scopes: - keyword.operator.bitwise -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -2694,14 +2835,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vPath' +- source: vPath + scopes: + - variable.other.unknown.vPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2788,6 +2935,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -2807,6 +2956,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: nullopt + scopes: + - variable.other.unknown.nullopt - source: ; scopes: - punctuation.terminator.statement @@ -2814,7 +2965,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' storePath ' +- source: storePath + scopes: + - variable.other.unknown.storePath - source: '=' scopes: - keyword.operator.assignment @@ -2837,6 +2990,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -2878,6 +3033,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: storePath + scopes: + - variable.other.unknown.storePath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -2891,6 +3048,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -2915,13 +3074,17 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: nullopt + scopes: + - variable.other.unknown.nullopt - source: ; scopes: - punctuation.terminator.statement - source: return scopes: - keyword.control.return -- source: ' storePath' +- source: storePath + scopes: + - variable.other.unknown.storePath - source: ; scopes: - punctuation.terminator.statement @@ -2945,7 +3108,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' optStorePath ' +- source: optStorePath + scopes: + - variable.other.unknown.optStorePath - source: '=' scopes: - keyword.operator.assignment @@ -2983,6 +3148,8 @@ scopes: - keyword.operator.arithmetic - source: optStorePath + scopes: + - variable.other.unknown.optStorePath - source: ; scopes: - punctuation.terminator.statement @@ -3015,6 +3182,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: storePath + scopes: + - variable.other.unknown.storePath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3111,6 +3280,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3129,7 +3300,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' path}' +- source: path + scopes: + - variable.other.unknown.path +- source: '}' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3259,6 +3433,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: outputsVal + scopes: + - variable.other.unknown.outputsVal - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -3368,22 +3544,32 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' attrs' +- source: attrs + scopes: + - variable.other.unknown.attrs - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' storePath' +- source: storePath + scopes: + - variable.other.unknown.storePath - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drv' +- source: drv + scopes: + - variable.other.unknown.drv - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' o' +- source: o + scopes: + - variable.other.unknown.o - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -3416,6 +3602,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -3515,6 +3703,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs + scopes: + - variable.other.unknown.attrs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3711,7 +3901,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3745,7 +3937,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' w' +- source: w + scopes: + - variable.other.unknown.w - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3765,10 +3959,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3791,11 +3989,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'path ' +- source: path + scopes: + - variable.other.unknown.path - source: '==' scopes: - keyword.operator.comparison -- source: ' corepkgsPrefix ' +- source: corepkgsPrefix + scopes: + - variable.other.unknown.corepkgsPrefix - source: + scopes: - keyword.operator.arithmetic @@ -3885,7 +4087,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3917,6 +4121,8 @@ scopes: - keyword.operator.logical - source: vScope + scopes: + - variable.other.unknown.vScope - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -3935,10 +4141,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -3969,10 +4179,14 @@ scopes: - keyword.operator.arithmetic - source: vScope + scopes: + - variable.other.unknown.vScope - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4258,7 +4472,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' displ' +- source: displ + scopes: + - variable.other.unknown.displ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4280,6 +4496,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: displ + scopes: + - variable.other.unknown.displ - source: ++ scopes: - keyword.operator.increment @@ -4344,7 +4562,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -4383,13 +4603,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' staticEnv' +- source: staticEnv + scopes: + - variable.other.unknown.staticEnv - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4409,6 +4633,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4416,10 +4642,14 @@ scopes: - keyword.operator.arithmetic - source: env + scopes: + - variable.other.unknown.env - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -4603,17 +4833,23 @@ - meta.function.definition.body.lambda scopes: - punctuation.section.block.begin.bracket.curly.lambda -- source: ' import' +- source: import + scopes: + - variable.other.unknown.import - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4658,7 +4894,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -4900,17 +5138,23 @@ - meta.function.definition.body.lambda scopes: - punctuation.section.block.begin.bracket.curly.lambda -- source: ' import' +- source: import + scopes: + - variable.other.unknown.import - source: ( scopesBegin: - meta.parens scopes: - punctuation.section.parens.begin.bracket.round - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -4942,7 +5186,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5170,10 +5416,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -5253,7 +5503,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -5301,11 +5553,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' RTLD_LAZY ' +- source: RTLD_LAZY + scopes: + - variable.other.unknown.RTLD_LAZY - source: '|' scopes: - keyword.operator.bitwise -- source: ' RTLD_LOCAL' +- source: RTLD_LOCAL + scopes: + - variable.other.unknown.RTLD_LOCAL - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5324,6 +5580,8 @@ scopes: - keyword.operator.logical - source: handle + scopes: + - variable.other.unknown.handle - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5368,7 +5626,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -5418,6 +5678,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: ValueInitializer + scopes: + - variable.other.unknown.ValueInitializer - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5430,6 +5692,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: handle + scopes: + - variable.other.unknown.handle - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -5466,6 +5730,8 @@ scopes: - keyword.operator.logical - source: func + scopes: + - variable.other.unknown.func - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5511,6 +5777,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: message + scopes: + - variable.other.unknown.message - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5559,15 +5827,21 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' sym' +- source: sym + scopes: + - variable.other.unknown.sym - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' message' +- source: message + scopes: + - variable.other.unknown.message - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5620,11 +5894,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' sym' +- source: sym + scopes: + - variable.other.unknown.sym - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -5645,6 +5923,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: func + scopes: + - variable.other.unknown.func - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5652,10 +5932,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -5805,7 +6089,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -5904,7 +6190,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'count ' +- source: count + scopes: + - variable.other.unknown.count - source: '==' scopes: - keyword.operator.comparison @@ -5935,7 +6223,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -5962,7 +6253,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -5981,6 +6275,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -6030,6 +6326,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6055,7 +6353,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6113,7 +6413,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -6123,7 +6425,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison @@ -6162,6 +6466,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -6199,6 +6505,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6214,6 +6522,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -6222,7 +6532,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6293,6 +6605,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -6320,11 +6634,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'InvalidPathError ' +- source: InvalidPathError + scopes: + - variable.other.unknown.InvalidPathError - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -6354,7 +6672,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -6386,7 +6707,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' program' +- source: program + scopes: + - variable.other.unknown.program - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6405,7 +6728,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -6424,6 +6750,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -6462,6 +6790,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: program + scopes: + - variable.other.unknown.program - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -6471,7 +6801,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' commandArgs' +- source: commandArgs + scopes: + - variable.other.unknown.commandArgs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6525,6 +6857,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -6533,7 +6867,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' parsed ' +- source: parsed + scopes: + - variable.other.unknown.parsed - source: '=' scopes: - keyword.operator.assignment @@ -6563,6 +6899,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: output + scopes: + - variable.other.unknown.output - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -6597,11 +6935,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Error ' +- source: Error + scopes: + - variable.other.unknown.Error - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -6639,6 +6981,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -6665,7 +7009,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' program' +- source: program + scopes: + - variable.other.unknown.program - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -6704,10 +7050,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: parsed + scopes: + - variable.other.unknown.parsed - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -6727,11 +7077,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Error ' +- source: Error + scopes: + - variable.other.unknown.Error - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -6769,6 +7123,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -6795,7 +7151,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' program' +- source: program + scopes: + - variable.other.unknown.program - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -6946,7 +7304,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -7028,13 +7388,17 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nInt' +- source: nInt + scopes: + - variable.other.unknown.nInt - source: ':' scopes: - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' t ' +- source: t + scopes: + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -7063,13 +7427,17 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nBool' +- source: nBool + scopes: + - variable.other.unknown.nBool - source: ':' scopes: - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' t ' +- source: t + scopes: + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -7098,13 +7466,17 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nString' +- source: nString + scopes: + - variable.other.unknown.nString - source: ':' scopes: - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' t ' +- source: t + scopes: + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -7133,13 +7505,17 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nPath' +- source: nPath + scopes: + - variable.other.unknown.nPath - source: ':' scopes: - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' t ' +- source: t + scopes: + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -7168,13 +7544,17 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nNull' +- source: nNull + scopes: + - variable.other.unknown.nNull - source: ':' scopes: - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' t ' +- source: t + scopes: + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -7203,13 +7583,17 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nAttrs' +- source: nAttrs + scopes: + - variable.other.unknown.nAttrs - source: ':' scopes: - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' t ' +- source: t + scopes: + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -7238,13 +7622,17 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nList' +- source: nList + scopes: + - variable.other.unknown.nList - source: ':' scopes: - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' t ' +- source: t + scopes: + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -7273,13 +7661,17 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nFunction' +- source: nFunction + scopes: + - variable.other.unknown.nFunction - source: ':' scopes: - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' t ' +- source: t + scopes: + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -7308,13 +7700,17 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nExternal' +- source: nExternal + scopes: + - variable.other.unknown.nExternal - source: ':' scopes: - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' t ' +- source: t + scopes: + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -7366,13 +7762,17 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nFloat' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: ':' scopes: - punctuation.separator.colon.case scopesEnd: - meta.conditional.case -- source: ' t ' +- source: t + scopes: + - variable.other.unknown.t - source: '=' scopes: - keyword.operator.assignment @@ -7401,7 +7801,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nThunk' +- source: nThunk + scopes: + - variable.other.unknown.nThunk - source: ':' scopes: - punctuation.separator.colon.case @@ -7438,6 +7840,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: t + scopes: + - variable.other.unknown.t - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -7547,7 +7951,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_typeOf' +- source: prim_typeOf + scopes: + - variable.other.unknown.prim_typeOf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7691,7 +8097,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -7741,7 +8149,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nNull' +- source: nNull + scopes: + - variable.other.unknown.nNull - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -7852,7 +8262,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_isNull' +- source: prim_isNull + scopes: + - variable.other.unknown.prim_isNull - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -7996,7 +8408,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8046,7 +8460,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFunction' +- source: nFunction + scopes: + - variable.other.unknown.nFunction - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8154,7 +8570,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_isFunction' +- source: prim_isFunction + scopes: + - variable.other.unknown.prim_isFunction - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -8298,7 +8716,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8348,7 +8768,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nInt' +- source: nInt + scopes: + - variable.other.unknown.nInt - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8456,7 +8878,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_isInt' +- source: prim_isInt + scopes: + - variable.other.unknown.prim_isInt - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -8600,7 +9024,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8650,7 +9076,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8758,7 +9186,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_isFloat' +- source: prim_isFloat + scopes: + - variable.other.unknown.prim_isFloat - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -8902,7 +9332,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -8952,7 +9384,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nString' +- source: nString + scopes: + - variable.other.unknown.nString - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9060,7 +9494,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_isString' +- source: prim_isString + scopes: + - variable.other.unknown.prim_isString - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9204,7 +9640,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9254,7 +9692,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nBool' +- source: nBool + scopes: + - variable.other.unknown.nBool - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9362,7 +9802,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_isBool' +- source: prim_isBool + scopes: + - variable.other.unknown.prim_isBool - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9506,7 +9948,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9556,7 +10000,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nPath' +- source: nPath + scopes: + - variable.other.unknown.nPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -9664,7 +10110,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_isPath' +- source: prim_isPath + scopes: + - variable.other.unknown.prim_isPath - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -9750,6 +10198,7 @@ - source: state scopes: - meta.parameter.initialization + - variable.other.unknown.state - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call.initializer @@ -9855,7 +10304,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat ' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: '&&' scopes: - keyword.operator.logical @@ -9877,7 +10328,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nInt' +- source: nInt + scopes: + - variable.other.unknown.nInt - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -9936,7 +10389,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nInt ' +- source: nInt + scopes: + - variable.other.unknown.nInt - source: '&&' scopes: - keyword.operator.logical @@ -9958,7 +10413,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -10086,6 +10543,8 @@ scopes: - keyword.operator.arithmetic - source: v1 + scopes: + - variable.other.unknown.v1 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10102,6 +10561,8 @@ scopes: - keyword.operator.arithmetic - source: v2 + scopes: + - variable.other.unknown.v2 - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -10156,7 +10617,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nInt' +- source: nInt + scopes: + - variable.other.unknown.nInt - source: ':' scopes: - punctuation.separator.colon.case @@ -10194,7 +10657,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nFloat' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: ':' scopes: - punctuation.separator.colon.case @@ -10232,7 +10697,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nString' +- source: nString + scopes: + - variable.other.unknown.nString - source: ':' scopes: - punctuation.separator.colon.case @@ -10297,7 +10764,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nPath' +- source: nPath + scopes: + - variable.other.unknown.nPath - source: ':' scopes: - punctuation.separator.colon.case @@ -10350,7 +10819,9 @@ - meta.conditional.case scopes: - keyword.control.case -- source: ' nList' +- source: nList + scopes: + - variable.other.unknown.nList - source: ':' scopes: - punctuation.separator.colon.case @@ -10378,7 +10849,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -10391,7 +10864,9 @@ - source: ; scopesEnd: - punctuation.terminator.statement -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ++ scopes: - keyword.operator.increment @@ -10415,7 +10890,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'i ' +- source: i + scopes: + - variable.other.unknown.i - source: '==' scopes: - keyword.operator.comparison @@ -10469,7 +10946,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'i ' +- source: i + scopes: + - variable.other.unknown.i - source: '==' scopes: - keyword.operator.comparison @@ -10562,6 +11041,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10594,6 +11075,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10653,6 +11136,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10682,6 +11167,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -10764,6 +11251,8 @@ scopes: - keyword.operator.arithmetic - source: v1 + scopes: + - variable.other.unknown.v1 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -10780,6 +11269,8 @@ scopes: - keyword.operator.arithmetic - source: v2 + scopes: + - variable.other.unknown.v2 - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -10838,28 +11329,38 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: list + scopes: + - variable.other.unknown.list - source: < scopes: - keyword.operator.comparison -- source: 'Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' gc_allocator' +- source: gc_allocator + scopes: + - variable.other.unknown.gc_allocator - source: < scopes: - keyword.operator.comparison -- source: 'Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic - source: '>>' scopes: - keyword.operator.bitwise.shift -- source: ' ValueList' +- source: ValueList + scopes: + - variable.other.unknown.ValueList - source: ; scopes: - punctuation.terminator.statement @@ -10882,17 +11383,23 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: list + scopes: + - variable.other.unknown.list - source: < scopes: - keyword.operator.comparison -- source: 'Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic - source: '>' scopes: - keyword.operator.comparison -- source: ' ValueList' +- source: ValueList + scopes: + - variable.other.unknown.ValueList - source: ; scopes: - punctuation.terminator.statement @@ -11037,6 +11544,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrSym + scopes: + - variable.other.unknown.attrSym - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11051,7 +11560,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'value ' +- source: value + scopes: + - variable.other.unknown.value - source: '==' scopes: - keyword.operator.comparison @@ -11133,6 +11644,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: attrSym + scopes: + - variable.other.unknown.attrSym - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11141,7 +11654,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' funcName' +- source: funcName + scopes: + - variable.other.unknown.funcName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11183,6 +11698,8 @@ scopes: - keyword.operator.logical - source: aPos + scopes: + - variable.other.unknown.aPos - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -11212,15 +11729,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment -- source: ' errorMsg' +- source: errorMsg + scopes: + - variable.other.unknown.errorMsg - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -11239,6 +11764,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11288,15 +11815,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment -- source: ' errorMsg' +- source: errorMsg + scopes: + - variable.other.unknown.errorMsg - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -11315,6 +11850,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: aPos + scopes: + - variable.other.unknown.aPos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11369,6 +11906,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -11401,7 +11940,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' funcName' +- source: funcName + scopes: + - variable.other.unknown.funcName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11424,6 +11965,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11443,7 +11986,9 @@ - source: return scopes: - keyword.control.return -- source: ' value' +- source: value + scopes: + - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement @@ -11566,7 +12111,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11610,7 +12157,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' state' +- source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11665,7 +12214,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11699,7 +12250,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11778,6 +12331,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: elem + scopes: + - variable.other.unknown.elem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11821,7 +12376,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' state' +- source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -11876,7 +12433,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -11910,7 +12469,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -11970,6 +12531,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12014,6 +12577,7 @@ - source: cmp scopes: - meta.arguments.decltype + - variable.other.unknown.cmp - source: ) scopes: - punctuation.section.arguments.end.bracket.round.decltype @@ -12030,6 +12594,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: cmp + scopes: + - variable.other.unknown.cmp - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -12150,10 +12716,14 @@ scopes: - keyword.operator.arithmetic - source: e + scopes: + - variable.other.unknown.e - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -12221,7 +12791,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'key ' +- source: key + scopes: + - variable.other.unknown.key - source: '==' scopes: - keyword.operator.comparison @@ -12270,7 +12842,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -12297,7 +12872,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -12316,6 +12894,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -12358,7 +12938,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -12430,6 +13012,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -12481,7 +13065,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -12501,10 +13087,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: call + scopes: + - variable.other.unknown.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -12586,10 +13176,14 @@ scopes: - keyword.operator.arithmetic - source: elem + scopes: + - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -12609,6 +13203,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: elem + scopes: + - variable.other.unknown.elem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -12649,6 +13245,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -12719,7 +13317,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' res' +- source: res + scopes: + - variable.other.unknown.res scopesEnd: - meta.parens.control.for - source: ) @@ -12748,6 +13348,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ++ scopes: - keyword.operator.increment @@ -12759,7 +13361,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ; scopes: - punctuation.terminator.statement @@ -12929,7 +13533,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_genericClosure' +- source: prim_genericClosure + scopes: + - variable.other.unknown.prim_genericClosure - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13189,16 +13795,27 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'ErrorInfo {' -- source: ' .level ' +- source: ErrorInfo + scopes: + - variable.other.unknown.ErrorInfo +- source: ' {' +- source: ' .' +- source: level + scopes: + - variable.other.unknown.level - source: '=' scopes: - keyword.operator.assignment -- source: ' lvlInfo' +- source: lvlInfo + scopes: + - variable.other.unknown.lvlInfo - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -13225,7 +13842,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -13244,6 +13864,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -13313,6 +13935,8 @@ scopes: - keyword.operator.bitwise - source: error + scopes: + - variable.other.unknown.error - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13387,16 +14011,27 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'ErrorInfo{' -- source: ' .level ' +- source: ErrorInfo + scopes: + - variable.other.unknown.ErrorInfo +- source: '{' +- source: ' .' +- source: level + scopes: + - variable.other.unknown.level - source: '=' scopes: - keyword.operator.assignment -- source: ' lvlInfo' +- source: lvlInfo + scopes: + - variable.other.unknown.lvlInfo - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -13423,7 +14058,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -13442,6 +14080,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: noPos + scopes: + - variable.other.unknown.noPos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -13475,7 +14115,9 @@ - source: ' Return the value we were passed.' scopesEnd: - comment.line.double-slash -- source: ' v ' +- source: v + scopes: + - variable.other.unknown.v - source: '=' scopes: - keyword.operator.assignment @@ -13690,7 +14332,12 @@ - meta.function.definition.body.lambda scopes: - punctuation.section.block.begin.bracket.curly.lambda -- source: ' PathSet context' +- source: PathSet + scopes: + - variable.other.unknown.PathSet +- source: context + scopes: + - variable.other.unknown.context - source: ; scopes: - punctuation.terminator.statement @@ -13698,7 +14345,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment @@ -13715,6 +14364,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -13740,7 +14391,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -13795,7 +14448,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -13998,7 +14653,12 @@ - meta.function.definition.body.lambda scopes: - punctuation.section.block.begin.bracket.curly.lambda -- source: ' PathSet context' +- source: PathSet + scopes: + - variable.other.unknown.PathSet +- source: context + scopes: + - variable.other.unknown.context - source: ; scopes: - punctuation.terminator.statement @@ -14006,7 +14666,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' s ' +- source: s + scopes: + - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment @@ -14023,6 +14685,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14048,7 +14712,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -14086,6 +14752,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14237,14 +14905,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' v ' +- source: v + scopes: + - variable.other.unknown.v - source: '=' scopes: - keyword.operator.assignment @@ -14283,11 +14955,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Error ' +- source: Error + scopes: + - variable.other.unknown.Error - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -14328,6 +15004,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: nullopt + scopes: + - variable.other.unknown.nullopt - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14344,6 +15022,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14369,7 +15049,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -14494,7 +15176,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_addErrorContext' +- source: prim_addErrorContext + scopes: + - variable.other.unknown.prim_addErrorContext - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14669,6 +15353,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -14697,6 +15383,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -14810,7 +15498,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_ceil' +- source: prim_ceil + scopes: + - variable.other.unknown.prim_ceil - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -14980,6 +15670,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -15008,6 +15700,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: value + scopes: + - variable.other.unknown.value - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -15121,7 +15815,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_floor' +- source: prim_floor + scopes: + - variable.other.unknown.prim_floor - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15306,7 +16002,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -15416,11 +16114,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'AssertionError ' +- source: AssertionError + scopes: + - variable.other.unknown.AssertionError - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -15535,6 +16237,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs + scopes: + - variable.other.unknown.attrs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -15654,7 +16358,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_tryEval' +- source: prim_tryEval + scopes: + - variable.other.unknown.prim_tryEval - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -15815,7 +16521,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -15881,6 +16589,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: name + scopes: + - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -16020,7 +16730,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_getEnv' +- source: prim_getEnv + scopes: + - variable.other.unknown.prim_getEnv - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16164,7 +16876,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -16205,14 +16919,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' v ' +- source: v + scopes: + - variable.other.unknown.v - source: '=' scopes: - keyword.operator.assignment @@ -16358,7 +17076,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_seq' +- source: prim_seq + scopes: + - variable.other.unknown.prim_seq - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16540,14 +17260,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' v ' +- source: v + scopes: + - variable.other.unknown.v - source: '=' scopes: - keyword.operator.assignment @@ -16694,7 +17418,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_deepSeq' +- source: prim_deepSeq + scopes: + - variable.other.unknown.prim_deepSeq - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -16839,7 +17565,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -16885,7 +17613,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nString' +- source: nString + scopes: + - variable.other.unknown.nString - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -16981,6 +17711,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17046,14 +17778,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' v ' +- source: v + scopes: + - variable.other.unknown.v - source: '=' scopes: - keyword.operator.assignment @@ -17200,7 +17936,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_trace' +- source: prim_trace + scopes: + - variable.other.unknown.prim_trace - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17361,7 +18099,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -17405,7 +18145,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' state' +- source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -17460,7 +18202,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17521,7 +18265,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' drvName ' +- source: drvName + scopes: + - variable.other.unknown.drvName - source: '=' scopes: - keyword.operator.assignment @@ -17552,7 +18298,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -17572,11 +18320,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Error ' +- source: Error + scopes: + - variable.other.unknown.Error - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -17614,6 +18366,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -17714,7 +18468,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' attr ' +- source: attr + scopes: + - variable.other.unknown.attr - source: '=' scopes: - keyword.operator.assignment @@ -17772,7 +18528,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'attr ' +- source: attr + scopes: + - variable.other.unknown.attr - source: '!=' scopes: - keyword.operator.comparison @@ -17840,7 +18598,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -17849,7 +18609,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' jsonObject ' +- source: jsonObject + scopes: + - variable.other.unknown.jsonObject - source: '=' scopes: - keyword.operator.assignment @@ -17883,6 +18645,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: jsonBuf + scopes: + - variable.other.unknown.jsonBuf - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -17917,7 +18681,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' attr ' +- source: attr + scopes: + - variable.other.unknown.attr - source: '=' scopes: - keyword.operator.assignment @@ -17975,7 +18741,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'attr ' +- source: attr + scopes: + - variable.other.unknown.attr - source: '!=' scopes: - keyword.operator.comparison @@ -18018,7 +18786,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' ignoreNulls ' +- source: ignoreNulls + scopes: + - variable.other.unknown.ignoreNulls - source: '=' scopes: - keyword.operator.assignment @@ -18049,7 +18819,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -18089,7 +18861,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' drvName' +- source: drvName + scopes: + - variable.other.unknown.drvName - source: ; scopes: - punctuation.terminator.statement @@ -18469,7 +19243,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' key' +- source: key + scopes: + - variable.other.unknown.key - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -18540,7 +19316,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 's ' +- source: s + scopes: + - variable.other.unknown.s - source: '==' scopes: - keyword.operator.comparison @@ -18560,7 +19338,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' ingestionMethod ' +- source: ingestionMethod + scopes: + - variable.other.unknown.ingestionMethod - source: '=' scopes: - keyword.operator.assignment @@ -18572,6 +19352,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: Recursive + scopes: + - variable.other.unknown.Recursive - source: ; scopes: - punctuation.terminator.statement @@ -18586,7 +19368,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 's ' +- source: s + scopes: + - variable.other.unknown.s - source: '==' scopes: - keyword.operator.comparison @@ -18606,7 +19390,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' ingestionMethod ' +- source: ingestionMethod + scopes: + - variable.other.unknown.ingestionMethod - source: '=' scopes: - keyword.operator.assignment @@ -18618,6 +19404,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: Flat + scopes: + - variable.other.unknown.Flat - source: ; scopes: - punctuation.terminator.statement @@ -18643,7 +19431,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -18671,14 +19462,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -18697,6 +19493,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -18814,7 +19612,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' ss' +- source: ss + scopes: + - variable.other.unknown.ss scopesEnd: - meta.parens.control.for - source: ) @@ -18848,6 +19648,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: j + scopes: + - variable.other.unknown.j - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -18893,7 +19695,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -18921,14 +19726,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' j' +- source: j + scopes: + - variable.other.unknown.j - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -18947,6 +19757,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -18991,7 +19803,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'j ' +- source: j + scopes: + - variable.other.unknown.j - source: '==' scopes: - keyword.operator.comparison @@ -19030,7 +19844,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -19057,7 +19874,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -19076,6 +19896,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -19104,6 +19926,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: j + scopes: + - variable.other.unknown.j - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19162,7 +19986,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -19189,7 +20016,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -19208,6 +20038,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -19248,6 +20080,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: ignoreNulls + scopes: + - variable.other.unknown.ignoreNulls - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19285,7 +20119,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19324,7 +20160,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nNull' +- source: nNull + scopes: + - variable.other.unknown.nNull - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19380,7 +20218,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' contentAddressed ' +- source: contentAddressed + scopes: + - variable.other.unknown.contentAddressed - source: '=' scopes: - keyword.operator.assignment @@ -19411,7 +20251,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19427,6 +20269,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: contentAddressed + scopes: + - variable.other.unknown.contentAddressed - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19452,6 +20296,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: CaDerivations + scopes: + - variable.other.unknown.CaDerivations - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19505,7 +20351,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' isImpure ' +- source: isImpure + scopes: + - variable.other.unknown.isImpure - source: '=' scopes: - keyword.operator.assignment @@ -19536,7 +20384,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19552,6 +20402,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: isImpure + scopes: + - variable.other.unknown.isImpure - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19577,6 +20429,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: ImpureDerivations + scopes: + - variable.other.unknown.ImpureDerivations - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19669,7 +20523,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19754,6 +20610,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -19761,10 +20619,14 @@ scopes: - keyword.operator.arithmetic - source: elem + scopes: + - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -19808,6 +20670,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19853,6 +20717,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: jsonObject + scopes: + - variable.other.unknown.jsonObject - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -19926,6 +20792,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: key + scopes: + - variable.other.unknown.key - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -19942,6 +20810,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -19966,15 +20836,21 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' placeholder' +- source: placeholder + scopes: + - variable.other.unknown.placeholder - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20054,11 +20930,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' posDrvName' +- source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -20141,7 +21021,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' posDrvName' +- source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -20185,7 +21067,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' outputHash ' +- source: outputHash + scopes: + - variable.other.unknown.outputHash - source: '=' scopes: - keyword.operator.assignment @@ -20216,7 +21100,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' posDrvName' +- source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -20260,7 +21146,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' outputHashAlgo ' +- source: outputHashAlgo + scopes: + - variable.other.unknown.outputHashAlgo - source: '=' scopes: - keyword.operator.assignment @@ -20291,7 +21179,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' posDrvName' +- source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -20368,7 +21258,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' posDrvName' +- source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -20458,7 +21350,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' posDrvName' +- source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -20552,10 +21446,14 @@ scopes: - keyword.operator.arithmetic - source: elem + scopes: + - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' posDrvName' +- source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -20572,6 +21470,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: ss + scopes: + - variable.other.unknown.ss - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20646,7 +21546,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -20690,10 +21592,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: key + scopes: + - variable.other.unknown.key - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -20760,6 +21666,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20829,6 +21737,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20872,7 +21782,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' outputHash ' +- source: outputHash + scopes: + - variable.other.unknown.outputHash - source: '=' scopes: - keyword.operator.assignment @@ -20890,6 +21802,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -20933,7 +21847,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' outputHashAlgo ' +- source: outputHashAlgo + scopes: + - variable.other.unknown.outputHashAlgo - source: '=' scopes: - keyword.operator.assignment @@ -20951,6 +21867,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21001,6 +21919,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21073,6 +21993,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: s + scopes: + - variable.other.unknown.s - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -21105,11 +22027,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Error ' +- source: Error + scopes: + - variable.other.unknown.Error - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -21147,6 +22073,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -21177,11 +22105,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' key' +- source: key + scopes: + - variable.other.unknown.key - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drvName' +- source: drvName + scopes: + - variable.other.unknown.drvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -21213,6 +22145,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: jsonObject + scopes: + - variable.other.unknown.jsonObject - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -21336,7 +22270,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context scopesEnd: - meta.parens.control.for - source: ) @@ -21487,6 +22423,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21511,7 +22449,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' refs' +- source: refs + scopes: + - variable.other.unknown.refs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -21542,7 +22482,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' refs' +- source: refs + scopes: + - variable.other.unknown.refs scopesEnd: - meta.parens.control.for - source: ) @@ -21574,6 +22516,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: j + scopes: + - variable.other.unknown.j - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -21623,6 +22567,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: j + scopes: + - variable.other.unknown.j - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -21650,6 +22596,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: j + scopes: + - variable.other.unknown.j - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -21774,7 +22722,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -21889,6 +22839,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -21968,7 +22920,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -21995,7 +22950,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -22014,6 +22972,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -22083,7 +23043,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -22110,7 +23073,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -22129,6 +23095,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -22170,6 +23138,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drvName + scopes: + - variable.other.unknown.drvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22197,7 +23167,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -22225,14 +23198,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drvExtension' +- source: drvExtension + scopes: + - variable.other.unknown.drvExtension - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -22251,6 +23229,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -22275,6 +23255,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: outputHash + scopes: + - variable.other.unknown.outputHash - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -22396,7 +23378,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -22423,7 +23408,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -22442,6 +23430,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -22478,6 +23468,8 @@ scopes: - keyword.operator.arithmetic - source: outputHash + scopes: + - variable.other.unknown.outputHash - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -22488,6 +23480,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: outputHashAlgo + scopes: + - variable.other.unknown.outputHashAlgo - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -22528,6 +23522,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: Flat + scopes: + - variable.other.unknown.Flat - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -22564,14 +23560,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: method + scopes: + - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' h' +- source: h + scopes: + - variable.other.unknown.h - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drvName' +- source: drvName + scopes: + - variable.other.unknown.drvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -22630,6 +23632,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: outPath + scopes: + - variable.other.unknown.outPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -22675,21 +23679,38 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'CAFixed {' -- source: ' .hash ' +- source: CAFixed + scopes: + - variable.other.unknown.CAFixed +- source: ' {' +- source: ' .' +- source: hash + scopes: + - variable.other.unknown.hash - source: '=' scopes: - keyword.operator.assignment -- source: ' FixedOutputHash {' -- source: ' .method ' +- source: FixedOutputHash + scopes: + - variable.other.unknown.FixedOutputHash +- source: ' {' +- source: ' .' +- source: method + scopes: + - variable.other.unknown.method - source: '=' scopes: - keyword.operator.assignment -- source: ' method' +- source: method + scopes: + - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .hash ' +- source: ' .' +- source: hash + scopes: + - variable.other.unknown.hash - source: '=' scopes: - keyword.operator.assignment @@ -22707,6 +23728,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: h + scopes: + - variable.other.unknown.h - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22740,11 +23763,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'contentAddressed ' +- source: contentAddressed + scopes: + - variable.other.unknown.contentAddressed - source: '||' scopes: - keyword.operator.logical -- source: ' isImpure' +- source: isImpure + scopes: + - variable.other.unknown.isImpure - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -22763,11 +23790,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'contentAddressed ' +- source: contentAddressed + scopes: + - variable.other.unknown.contentAddressed - source: '&&' scopes: - keyword.operator.logical -- source: ' isImpure' +- source: isImpure + scopes: + - variable.other.unknown.isImpure - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -22783,7 +23814,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -22810,7 +23844,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -22829,6 +23866,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -22859,6 +23898,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: outputHashAlgo + scopes: + - variable.other.unknown.outputHashAlgo - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22872,6 +23913,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: htSHA256 + scopes: + - variable.other.unknown.htSHA256 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -22909,6 +23952,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: Recursive + scopes: + - variable.other.unknown.Recursive - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -22939,7 +23984,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' outputs' +- source: outputs + scopes: + - variable.other.unknown.outputs scopesEnd: - meta.parens.control.for - source: ) @@ -22967,6 +24014,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -22982,6 +24031,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: i + scopes: + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -22997,6 +24048,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: isImpure + scopes: + - variable.other.unknown.isImpure - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -23021,6 +24074,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.other.unknown.i - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -23031,20 +24086,33 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'Impure {' -- source: ' .method ' +- source: Impure + scopes: + - variable.other.unknown.Impure +- source: ' {' +- source: ' .' +- source: method + scopes: + - variable.other.unknown.method - source: '=' scopes: - keyword.operator.assignment -- source: ' method' +- source: method + scopes: + - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .hashType ' +- source: ' .' +- source: hashType + scopes: + - variable.other.unknown.hashType - source: '=' scopes: - keyword.operator.assignment -- source: ' ht' +- source: ht + scopes: + - variable.other.unknown.ht - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -23077,6 +24145,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.other.unknown.i - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -23087,20 +24157,33 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'CAFloating {' -- source: ' .method ' +- source: CAFloating + scopes: + - variable.other.unknown.CAFloating +- source: ' {' +- source: ' .' +- source: method + scopes: + - variable.other.unknown.method - source: '=' scopes: - keyword.operator.assignment -- source: ' method' +- source: method + scopes: + - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .hashType ' +- source: ' .' +- source: hashType + scopes: + - variable.other.unknown.hashType - source: '=' scopes: - keyword.operator.assignment -- source: ' ht' +- source: ht + scopes: + - variable.other.unknown.ht - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -23169,7 +24252,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' outputs' +- source: outputs + scopes: + - variable.other.unknown.outputs scopesEnd: - meta.parens.control.for - source: ) @@ -23197,6 +24282,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -23237,6 +24324,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.other.unknown.i - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -23247,7 +24336,10 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'Deferred { }' +- source: Deferred + scopes: + - variable.other.unknown.Deferred +- source: ' { }' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -23298,6 +24390,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: drv + scopes: + - variable.other.unknown.drv - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23364,6 +24458,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: Regular + scopes: + - variable.other.unknown.Regular - source: ':' scopes: - punctuation.separator.colon.case @@ -23393,7 +24489,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' outputs' +- source: outputs + scopes: + - variable.other.unknown.outputs scopesEnd: - meta.parens.control.for - source: ) @@ -23435,7 +24533,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23454,6 +24554,8 @@ scopes: - keyword.operator.logical - source: h + scopes: + - variable.other.unknown.h - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -23469,7 +24571,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -23497,14 +24602,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -23523,6 +24633,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: posDrvName + scopes: + - variable.other.unknown.posDrvName - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -23568,6 +24680,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.other.unknown.i - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -23575,10 +24689,14 @@ scopes: - keyword.operator.arithmetic - source: h + scopes: + - variable.other.unknown.h - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drvName' +- source: drvName + scopes: + - variable.other.unknown.drvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -23600,6 +24718,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -23627,6 +24747,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: outPath + scopes: + - variable.other.unknown.outPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -23651,12 +24773,20 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' DerivationOutputInputAddressed {' -- source: ' .path ' +- source: DerivationOutputInputAddressed + scopes: + - variable.other.unknown.DerivationOutputInputAddressed +- source: ' {' +- source: ' .' +- source: path + scopes: + - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment @@ -23674,6 +24804,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: outPath + scopes: + - variable.other.unknown.outPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23721,6 +24853,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: Deferred + scopes: + - variable.other.unknown.Deferred - source: ':' scopes: - punctuation.separator.colon.case @@ -23750,7 +24884,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' outputs' +- source: outputs + scopes: + - variable.other.unknown.outputs scopesEnd: - meta.parens.control.for - source: ) @@ -23782,10 +24918,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: i + scopes: + - variable.other.unknown.i - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' DerivationOutputDeferred {}' +- source: DerivationOutputDeferred + scopes: + - variable.other.unknown.DerivationOutputDeferred +- source: ' {}' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -23851,7 +24992,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drv' +- source: drv + scopes: + - variable.other.unknown.drv - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -23900,6 +25043,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPath + scopes: + - variable.other.unknown.drvPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -23913,6 +25058,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: lvlChatty + scopes: + - variable.other.unknown.lvlChatty - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -23938,11 +25085,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drvName' +- source: drvName + scopes: + - variable.other.unknown.drvName - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drvPathS' +- source: drvPathS + scopes: + - variable.other.unknown.drvPathS - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -23999,7 +25150,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drv' +- source: drv + scopes: + - variable.other.unknown.drv - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -24037,10 +25190,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPath + scopes: + - variable.other.unknown.drvPath - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' h' +- source: h + scopes: + - variable.other.unknown.h - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -24142,6 +25299,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPathS + scopes: + - variable.other.unknown.drvPathS - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -24160,7 +25319,10 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' drvPathS}' +- source: drvPathS + scopes: + - variable.other.unknown.drvPathS +- source: '}' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -24214,22 +25376,32 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' attrs' +- source: attrs + scopes: + - variable.other.unknown.attrs - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drvPath' +- source: drvPath + scopes: + - variable.other.unknown.drvPath - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' drv' +- source: drv + scopes: + - variable.other.unknown.drv - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -24249,6 +25421,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs + scopes: + - variable.other.unknown.attrs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -24347,7 +25521,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_derivationStrict' +- source: prim_derivationStrict + scopes: + - variable.other.unknown.prim_derivationStrict - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -24520,7 +25696,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -24636,7 +25814,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_placeholder' +- source: prim_placeholder + scopes: + - variable.other.unknown.prim_placeholder - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -24790,6 +25970,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -24815,7 +25997,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -24841,13 +26025,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -24956,7 +26144,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_toPath' +- source: prim_toPath + scopes: + - variable.other.unknown.prim_toPath - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -25114,7 +26304,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -25159,7 +26352,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -25178,6 +26374,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -25238,6 +26436,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -25263,7 +26463,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -25316,6 +26518,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -25324,7 +26528,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' path ' +- source: path + scopes: + - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment @@ -25335,6 +26541,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -25377,6 +26585,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -25404,7 +26614,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -25432,14 +26645,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -25458,6 +26676,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -25503,6 +26723,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -25559,6 +26781,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path2 + scopes: + - variable.other.unknown.path2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -25596,6 +26820,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path2 + scopes: + - variable.other.unknown.path2 - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -25618,10 +26844,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -25737,7 +26967,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_storePath' +- source: prim_storePath + scopes: + - variable.other.unknown.prim_storePath - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -25869,10 +27101,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -25898,7 +27134,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' { .checkForPureEval ' +- source: ' { .' +- source: checkForPureEval + scopes: + - variable.other.unknown.checkForPureEval - source: '=' scopes: - keyword.operator.assignment @@ -25951,6 +27190,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -25976,11 +27217,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'SysError ' +- source: SysError + scopes: + - variable.other.unknown.SysError - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -26037,11 +27282,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'RestrictedPathError ' +- source: RestrictedPathError + scopes: + - variable.other.unknown.RestrictedPathError - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -26180,7 +27429,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_pathExists' +- source: prim_pathExists + scopes: + - variable.other.unknown.prim_pathExists - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -26335,6 +27586,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -26360,7 +27613,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -26382,7 +27637,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -26492,7 +27749,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_baseNameOf' +- source: prim_baseNameOf + scopes: + - variable.other.unknown.prim_baseNameOf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -26638,6 +27897,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -26663,7 +27924,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -26703,6 +27966,8 @@ scopes: - keyword.operator.arithmetic - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -26748,7 +28013,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nPath' +- source: nPath + scopes: + - variable.other.unknown.nPath - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -26767,6 +28034,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: dir + scopes: + - variable.other.unknown.dir - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -26789,10 +28058,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: dir + scopes: + - variable.other.unknown.dir - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -26902,7 +28175,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_dirOf' +- source: prim_dirOf + scopes: + - variable.other.unknown.prim_dirOf - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -27030,10 +28305,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -27080,6 +28359,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27144,6 +28425,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: npos + scopes: + - variable.other.unknown.npos - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -27185,7 +28468,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -27232,6 +28517,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -27253,7 +28540,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' refs ' +- source: refs + scopes: + - variable.other.unknown.refs - source: '=' scopes: - keyword.operator.assignment @@ -27294,6 +28583,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -27328,7 +28619,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Error ' +- source: Error + scopes: + - variable.other.unknown.Error - source: '&' scopes: - keyword.operator.bitwise @@ -27390,6 +28683,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: refs + scopes: + - variable.other.unknown.refs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -27409,10 +28704,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -27520,7 +28819,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_readFile' +- source: prim_readFile + scopes: + - variable.other.unknown.prim_readFile - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -27665,7 +28966,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -27759,10 +29062,14 @@ scopes: - keyword.operator.arithmetic - source: v2 + scopes: + - variable.other.unknown.v2 - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -27850,7 +29157,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'i ' +- source: i + scopes: + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison @@ -27880,7 +29189,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' prefix ' +- source: prefix + scopes: + - variable.other.unknown.prefix - source: '=' scopes: - keyword.operator.assignment @@ -27911,14 +29222,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -27928,7 +29243,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' state' +- source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -27970,7 +29287,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -28011,6 +29330,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -28029,7 +29350,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -28092,13 +29415,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' path ' +- source: path + scopes: + - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment @@ -28109,10 +29436,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' rewrites' +- source: rewrites + scopes: + - variable.other.unknown.rewrites - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -28132,11 +29463,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'InvalidPathError ' +- source: InvalidPathError + scopes: + - variable.other.unknown.InvalidPathError - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -28166,7 +29501,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -28198,7 +29536,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -28217,7 +29557,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -28236,6 +29579,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -28269,10 +29614,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: prefix + scopes: + - variable.other.unknown.prefix - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -28329,7 +29678,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -28373,14 +29724,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: searchPath + scopes: + - variable.other.unknown.searchPath - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -28483,7 +29840,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_findFile' +- source: prim_findFile + scopes: + - variable.other.unknown.prim_findFile - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -28643,7 +30002,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -28690,6 +30051,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: type + scopes: + - variable.other.unknown.type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -28708,6 +30071,8 @@ scopes: - keyword.operator.logical - source: ht + scopes: + - variable.other.unknown.ht - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -28732,7 +30097,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -28760,14 +30128,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' type' +- source: type + scopes: + - variable.other.unknown.type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -28786,6 +30159,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -28819,10 +30194,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -28873,10 +30252,14 @@ scopes: - keyword.operator.arithmetic - source: ht + scopes: + - variable.other.unknown.ht - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -28890,6 +30273,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: Base16 + scopes: + - variable.other.unknown.Base16 - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -29026,7 +30411,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_hashFile' +- source: prim_hashFile + scopes: + - variable.other.unknown.prim_hashFile - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -29154,10 +30541,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -29203,6 +30594,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -29277,7 +30670,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' entries' +- source: entries + scopes: + - variable.other.unknown.entries scopesEnd: - meta.parens.control.for - source: ) @@ -29310,7 +30705,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' DT_UNKNOWN' +- source: DT_UNKNOWN + scopes: + - variable.other.unknown.DT_UNKNOWN - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -29334,7 +30731,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'path ' +- source: path + scopes: + - variable.other.unknown.path - source: + scopes: - keyword.operator.arithmetic @@ -29412,7 +30811,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' DT_REG ' +- source: DT_REG + scopes: + - variable.other.unknown.DT_REG - source: '?' scopes: - keyword.operator.ternary @@ -29442,7 +30843,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' DT_DIR ' +- source: DT_DIR + scopes: + - variable.other.unknown.DT_DIR - source: '?' scopes: - keyword.operator.ternary @@ -29472,7 +30875,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' DT_LNK ' +- source: DT_LNK + scopes: + - variable.other.unknown.DT_LNK - source: '?' scopes: - keyword.operator.ternary @@ -29525,6 +30930,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs + scopes: + - variable.other.unknown.attrs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -29640,7 +31047,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_readDir' +- source: prim_readDir + scopes: + - variable.other.unknown.prim_readDir - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -29799,6 +31208,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -29836,15 +31247,21 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -29881,7 +31298,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -30067,7 +31486,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_toXML' +- source: prim_toXML + scopes: + - variable.other.unknown.prim_toXML - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -30215,6 +31636,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -30246,15 +31669,21 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' out' +- source: out + scopes: + - variable.other.unknown.out - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -30291,7 +31720,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -30404,7 +31835,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_toJSON' +- source: prim_toJSON + scopes: + - variable.other.unknown.prim_toJSON - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -30559,7 +31992,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -30581,14 +32016,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -30608,11 +32049,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'JSONParseError ' +- source: JSONParseError + scopes: + - variable.other.unknown.JSONParseError - source: '&' scopes: - keyword.operator.bitwise - source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -30650,6 +32095,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -30791,7 +32238,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_fromJSON' +- source: prim_fromJSON + scopes: + - variable.other.unknown.prim_fromJSON - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -30963,7 +32412,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31024,11 +32475,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31069,7 +32524,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context scopesEnd: - meta.parens.control.for - source: ) @@ -31146,7 +32603,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -31185,18 +32645,25 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' name' +- source: name + scopes: + - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -31215,6 +32682,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -31261,6 +32730,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -31317,14 +32788,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: name + scopes: + - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' contents' +- source: contents + scopes: + - variable.other.unknown.contents - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' refs' +- source: refs + scopes: + - variable.other.unknown.refs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31350,14 +32827,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: name + scopes: + - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' contents' +- source: contents + scopes: + - variable.other.unknown.contents - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' refs' +- source: refs + scopes: + - variable.other.unknown.refs - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -31409,10 +32892,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: storePath + scopes: + - variable.other.unknown.storePath - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31594,7 +33081,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_toFile' +- source: prim_toFile + scopes: + - variable.other.unknown.prim_toFile - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -31822,13 +33311,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' path ' +- source: path + scopes: + - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment @@ -31851,17 +33344,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' rewrites' +- source: rewrites + scopes: + - variable.other.unknown.rewrites - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31905,6 +33404,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31936,10 +33437,14 @@ scopes: - punctuation.definition.begin.bracket.square - source: storePath + scopes: + - variable.other.unknown.storePath - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' subPath' +- source: subPath + scopes: + - variable.other.unknown.subPath - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -31967,6 +33472,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -31981,7 +33488,9 @@ - source: ' FIXME: we should scanForReferences on the path before adding it' scopesEnd: - comment.line.double-slash -- source: ' refs ' +- source: refs + scopes: + - variable.other.unknown.refs - source: '=' scopes: - keyword.operator.assignment @@ -32004,6 +33513,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: storePath + scopes: + - variable.other.unknown.storePath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32016,7 +33527,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' path ' +- source: path + scopes: + - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment @@ -32039,13 +33552,17 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: storePath + scopes: + - variable.other.unknown.storePath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: + scopes: - keyword.operator.arithmetic -- source: ' subPath' +- source: subPath + scopes: + - variable.other.unknown.subPath - source: ; scopes: - punctuation.terminator.statement @@ -32062,7 +33579,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Error ' +- source: Error + scopes: + - variable.other.unknown.Error - source: '&' scopes: - keyword.operator.bitwise @@ -32094,7 +33613,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' path ' +- source: path + scopes: + - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment @@ -32110,11 +33631,15 @@ - source: '&&' scopes: - keyword.operator.logical -- source: ' expectedHash' +- source: expectedHash + scopes: + - variable.other.unknown.expectedHash - source: '?' scopes: - keyword.operator.ternary -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ':' scopes: - keyword.operator.ternary @@ -32131,6 +33656,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32147,7 +33674,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' filterFun ' +- source: filterFun + scopes: + - variable.other.unknown.filterFun - source: '?' scopes: - keyword.operator.ternary @@ -32201,7 +33730,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' st ' +- source: st + scopes: + - variable.other.unknown.st - source: '=' scopes: - keyword.operator.assignment @@ -32212,6 +33743,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32230,7 +33763,12 @@ - punctuation.definition.comment.end scopesEnd: - comment.block -- source: ' Value arg1' +- source: Value + scopes: + - variable.other.unknown.Value +- source: arg1 + scopes: + - variable.other.unknown.arg1 - source: ; scopes: - punctuation.terminator.statement @@ -32247,13 +33785,20 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' Value arg2' +- source: Value + scopes: + - variable.other.unknown.Value +- source: arg2 + scopes: + - variable.other.unknown.arg2 - source: ; scopes: - punctuation.terminator.statement @@ -32402,11 +33947,16 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic -- source: ' args []' +- source: args + scopes: + - variable.other.unknown.args +- source: ' []' - source: '{' scopesBegin: - meta.block @@ -32416,6 +33966,8 @@ scopes: - keyword.operator.bitwise - source: arg1 + scopes: + - variable.other.unknown.arg1 - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -32423,6 +33975,8 @@ scopes: - keyword.operator.bitwise - source: arg2 + scopes: + - variable.other.unknown.arg2 - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -32431,7 +33985,12 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' Value res' +- source: Value + scopes: + - variable.other.unknown.Value +- source: res + scopes: + - variable.other.unknown.res - source: ; scopes: - punctuation.terminator.statement @@ -32451,6 +34010,8 @@ scopes: - keyword.operator.arithmetic - source: filterFun + scopes: + - variable.other.unknown.filterFun - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -32460,15 +34021,21 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' args' +- source: args + scopes: + - variable.other.unknown.args - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' res' +- source: res + scopes: + - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32491,10 +34058,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: res + scopes: + - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32514,7 +34085,9 @@ - source: ':' scopes: - keyword.operator.ternary -- source: ' defaultPathFilter' +- source: defaultPathFilter + scopes: + - variable.other.unknown.defaultPathFilter - source: ; scopes: - punctuation.terminator.statement @@ -32560,12 +34133,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: expectedHash + scopes: + - variable.other.unknown.expectedHash - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' expectedStorePath ' +- source: expectedStorePath + scopes: + - variable.other.unknown.expectedStorePath - source: '=' scopes: - keyword.operator.assignment @@ -32588,6 +34165,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: method + scopes: + - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -32595,10 +34174,14 @@ scopes: - keyword.operator.arithmetic - source: expectedHash + scopes: + - variable.other.unknown.expectedHash - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' name' +- source: name + scopes: + - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32616,7 +34199,9 @@ - source: '!' scopes: - keyword.operator.logical -- source: 'expectedHash ' +- source: expectedHash + scopes: + - variable.other.unknown.expectedHash - source: '||' scopesBegin: - keyword.operator.logical @@ -32645,6 +34230,8 @@ scopes: - keyword.operator.arithmetic - source: expectedStorePath + scopes: + - variable.other.unknown.expectedStorePath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32699,22 +34286,32 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: name + scopes: + - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' method' +- source: method + scopes: + - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' htSHA256' +- source: htSHA256 + scopes: + - variable.other.unknown.htSHA256 - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' filter' +- source: filter + scopes: + - variable.other.unknown.filter - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32746,22 +34343,32 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: name + scopes: + - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' method' +- source: method + scopes: + - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' htSHA256' +- source: htSHA256 + scopes: + - variable.other.unknown.htSHA256 - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' filter' +- source: filter + scopes: + - variable.other.unknown.filter - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -32777,7 +34384,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' refs' +- source: refs + scopes: + - variable.other.unknown.refs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32792,15 +34401,21 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'expectedHash ' +- source: expectedHash + scopes: + - variable.other.unknown.expectedHash - source: '&&' scopes: - keyword.operator.logical -- source: ' expectedStorePath ' +- source: expectedStorePath + scopes: + - variable.other.unknown.expectedStorePath - source: '!=' scopes: - keyword.operator.comparison -- source: ' dstPath' +- source: dstPath + scopes: + - variable.other.unknown.dstPath - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32842,7 +34457,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -32865,10 +34482,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: dstPath + scopes: + - variable.other.unknown.dstPath - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32899,10 +34520,14 @@ scopes: - keyword.operator.arithmetic - source: expectedStorePath + scopes: + - variable.other.unknown.expectedStorePath - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -32922,11 +34547,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Error ' +- source: Error + scopes: + - variable.other.unknown.Error - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -32964,6 +34593,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -32990,7 +34621,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -33126,6 +34759,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -33151,7 +34786,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -33192,7 +34829,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -33238,7 +34877,9 @@ - source: '!=' scopes: - keyword.operator.comparison -- source: ' nFunction' +- source: nFunction + scopes: + - variable.other.unknown.nFunction - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -33263,7 +34904,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -33324,7 +34968,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -33343,6 +34990,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -33365,10 +35014,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -33392,6 +35045,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -33401,7 +35056,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -33432,6 +35089,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: Recursive + scopes: + - variable.other.unknown.Recursive - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -33443,14 +35102,20 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: nullopt + scopes: + - variable.other.unknown.nullopt - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -33617,7 +35282,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_filterSource' +- source: prim_filterSource + scopes: + - variable.other.unknown.prim_filterSource - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -33750,7 +35417,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -33825,6 +35494,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: Recursive + scopes: + - variable.other.unknown.Recursive - source: ; scopes: - punctuation.terminator.statement @@ -33982,7 +35653,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '==' scopes: - keyword.operator.comparison @@ -34002,7 +35675,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' path ' +- source: path + scopes: + - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment @@ -34045,7 +35720,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -34089,7 +35766,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' name ' +- source: name + scopes: + - variable.other.unknown.name - source: '=' scopes: - keyword.operator.assignment @@ -34146,7 +35825,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '==' scopes: - keyword.operator.comparison @@ -34198,14 +35879,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' filterFun ' +- source: filterFun + scopes: + - variable.other.unknown.filterFun - source: '=' scopes: - keyword.operator.assignment @@ -34237,7 +35922,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '==' scopes: - keyword.operator.comparison @@ -34257,11 +35944,15 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' method ' +- source: method + scopes: + - variable.other.unknown.method - source: '=' scopes: - keyword.operator.assignment -- source: ' FileIngestionMethod ' +- source: FileIngestionMethod + scopes: + - variable.other.unknown.FileIngestionMethod - source: '{' scopesBegin: - meta.block @@ -34325,7 +36016,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '==' scopes: - keyword.operator.comparison @@ -34345,7 +36038,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' expectedHash ' +- source: expectedHash + scopes: + - variable.other.unknown.expectedHash - source: '=' scopes: - keyword.operator.assignment @@ -34397,7 +36092,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' htSHA256' +- source: htSHA256 + scopes: + - variable.other.unknown.htSHA256 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -34426,7 +36123,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -34488,7 +36188,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -34582,7 +36285,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -34609,7 +36315,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -34628,6 +36337,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -34671,7 +36382,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' name ' +- source: name + scopes: + - variable.other.unknown.name - source: '=' scopes: - keyword.operator.assignment @@ -34682,6 +36395,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -34695,38 +36410,56 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' name' +- source: name + scopes: + - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' path' +- source: path + scopes: + - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' filterFun' +- source: filterFun + scopes: + - variable.other.unknown.filterFun - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' method' +- source: method + scopes: + - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' expectedHash' +- source: expectedHash + scopes: + - variable.other.unknown.expectedHash - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -34855,7 +36588,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_path' +- source: prim_path + scopes: + - variable.other.unknown.prim_path - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -35011,7 +36746,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -35031,6 +36768,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -35322,6 +37061,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: symbol + scopes: + - variable.other.unknown.symbol - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -35341,19 +37082,27 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'name ' +- source: name + scopes: + - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison -- source: ' staticId ' +- source: staticId + scopes: + - variable.other.unknown.staticId - source: '||' scopes: - keyword.operator.logical -- source: ' name ' +- source: name + scopes: + - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison -- source: ' dynamicId' +- source: dynamicId + scopes: + - variable.other.unknown.dynamicId - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -35401,6 +37150,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ++ scopes: - keyword.operator.increment @@ -35529,7 +37280,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -35747,7 +37500,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_attrNames' +- source: prim_attrNames + scopes: + - variable.other.unknown.prim_attrNames - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -35892,7 +37647,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -35912,6 +37669,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -36214,6 +37973,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: symbol + scopes: + - variable.other.unknown.symbol - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -36233,19 +37994,27 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'name ' +- source: name + scopes: + - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison -- source: ' staticId ' +- source: staticId + scopes: + - variable.other.unknown.staticId - source: '||' scopes: - keyword.operator.logical -- source: ' name ' +- source: name + scopes: + - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison -- source: ' dynamicId' +- source: dynamicId + scopes: + - variable.other.unknown.dynamicId - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -36288,6 +38057,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ++ scopes: - keyword.operator.increment @@ -36304,7 +38075,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic @@ -36317,6 +38090,8 @@ scopes: - keyword.operator.bitwise - source: attr + scopes: + - variable.other.unknown.attr - source: ; scopes: - punctuation.terminator.statement @@ -36374,7 +38149,9 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -36435,7 +38212,12 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'string_view s1 ' +- source: string_view + scopes: + - variable.other.unknown.string_view +- source: s1 + scopes: + - variable.other.unknown.s1 - source: '=' scopes: - keyword.operator.assignment @@ -36463,7 +38245,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Attr ' +- source: Attr + scopes: + - variable.other.unknown.Attr - source: '*' scopes: - keyword.operator.arithmetic @@ -36472,7 +38256,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' v1' +- source: v1 + scopes: + - variable.other.unknown.v1 - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -36492,7 +38278,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s2 ' +- source: s2 + scopes: + - variable.other.unknown.s2 - source: '=' scopes: - keyword.operator.assignment @@ -36520,7 +38308,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Attr ' +- source: Attr + scopes: + - variable.other.unknown.Attr - source: '*' scopes: - keyword.operator.arithmetic @@ -36529,7 +38319,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' v2' +- source: v2 + scopes: + - variable.other.unknown.v2 - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -36552,11 +38344,15 @@ - source: return scopes: - keyword.control.return -- source: ' s1 ' +- source: s1 + scopes: + - variable.other.unknown.s1 - source: < scopes: - keyword.operator.comparison -- source: ' s2' +- source: s2 + scopes: + - variable.other.unknown.s2 - source: ; scopes: - punctuation.terminator.statement @@ -36588,7 +38384,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -36598,11 +38396,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement @@ -36610,6 +38412,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -36638,6 +38442,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -36656,7 +38462,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'Attr ' +- source: Attr + scopes: + - variable.other.unknown.Attr - source: '*' scopes: - keyword.operator.arithmetic @@ -36686,6 +38494,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -36807,7 +38617,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_attrValues' +- source: prim_attrValues + scopes: + - variable.other.unknown.prim_attrValues - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -36959,7 +38771,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -37000,7 +38814,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -37033,7 +38849,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' state' +- source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -37070,6 +38888,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attr + scopes: + - variable.other.unknown.attr - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -37101,7 +38921,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -37211,14 +39033,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' v ' +- source: v + scopes: + - variable.other.unknown.v - source: '=' scopes: - keyword.operator.assignment @@ -37359,7 +39185,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_getAttr' +- source: prim_getAttr + scopes: + - variable.other.unknown.prim_getAttr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -37514,7 +39342,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -37555,7 +39385,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -37632,6 +39464,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attr + scopes: + - variable.other.unknown.attr - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -37649,7 +39483,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'i ' +- source: i + scopes: + - variable.other.unknown.i - source: '==' scopes: - keyword.operator.comparison @@ -37726,6 +39562,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -37836,7 +39674,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_unsafeGetAttrPos' +- source: prim_unsafeGetAttrPos + scopes: + - variable.other.unknown.prim_unsafeGetAttrPos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -37996,7 +39836,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -38037,7 +39879,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -38106,6 +39950,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attr + scopes: + - variable.other.unknown.attr - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -38276,7 +40122,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_hasAttr' +- source: prim_hasAttr + scopes: + - variable.other.unknown.prim_hasAttr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -38420,7 +40268,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -38470,7 +40320,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nAttrs' +- source: nAttrs + scopes: + - variable.other.unknown.nAttrs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -38578,7 +40430,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_isAttrs' +- source: prim_isAttrs + scopes: + - variable.other.unknown.prim_isAttrs - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -38711,7 +40565,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -38752,7 +40608,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -38941,10 +40799,14 @@ scopes: - keyword.operator.arithmetic - source: elem + scopes: + - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -39281,6 +41143,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: attrs + scopes: + - variable.other.unknown.attrs - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call @@ -39447,7 +41311,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_removeAttrs' +- source: prim_removeAttrs + scopes: + - variable.other.unknown.prim_removeAttrs - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -39595,7 +41461,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -39769,10 +41637,14 @@ scopes: - keyword.operator.arithmetic - source: v2 + scopes: + - variable.other.unknown.v2 - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -39805,7 +41677,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' state' +- source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -39847,7 +41721,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -39937,6 +41813,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: name + scopes: + - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -39964,6 +41842,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: sym + scopes: + - variable.other.unknown.sym - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -40009,7 +41889,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: ' state' +- source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -40051,7 +41933,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -40071,6 +41955,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: sym + scopes: + - variable.other.unknown.sym - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -40124,6 +42010,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs + scopes: + - variable.other.unknown.attrs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -40244,7 +42132,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_listToAttrs' +- source: prim_listToAttrs + scopes: + - variable.other.unknown.prim_listToAttrs - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -40377,7 +42267,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -40418,7 +42310,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -40676,7 +42570,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'j ' +- source: j + scopes: + - variable.other.unknown.j - source: '!=' scopes: - keyword.operator.comparison @@ -40735,6 +42631,8 @@ scopes: - keyword.operator.arithmetic - source: j + scopes: + - variable.other.unknown.j - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -40899,7 +42797,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_intersectAttrs' +- source: prim_intersectAttrs + scopes: + - variable.other.unknown.prim_intersectAttrs - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -41061,7 +42961,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -41105,14 +43007,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic @@ -41259,10 +43165,14 @@ scopes: - keyword.operator.arithmetic - source: v2 + scopes: + - variable.other.unknown.v2 - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -41308,6 +43218,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrName + scopes: + - variable.other.unknown.attrName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -41322,7 +43234,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'i ' +- source: i + scopes: + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison @@ -41361,6 +43275,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: found + scopes: + - variable.other.unknown.found - source: ++ scopes: - keyword.operator.increment @@ -41402,10 +43318,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' found' +- source: found + scopes: + - variable.other.unknown.found - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -41429,7 +43349,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -41439,11 +43361,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison -- source: ' found' +- source: found + scopes: + - variable.other.unknown.found - source: ; scopes: - punctuation.terminator.statement @@ -41451,6 +43377,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -41479,6 +43407,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -41496,6 +43426,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -41629,7 +43561,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_catAttrs' +- source: prim_catAttrs + scopes: + - variable.other.unknown.prim_catAttrs - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -41762,7 +43696,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -41950,7 +43886,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -41977,7 +43916,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -41996,6 +43938,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -42346,6 +44290,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs + scopes: + - variable.other.unknown.attrs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -42460,7 +44406,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_functionArgs' +- source: prim_functionArgs + scopes: + - variable.other.unknown.prim_functionArgs - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -42603,7 +44551,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -42873,7 +44823,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vName' +- source: vName + scopes: + - variable.other.unknown.vName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -42914,6 +44866,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: vFun2 + scopes: + - variable.other.unknown.vFun2 - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -43093,7 +45047,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_mapAttrs' +- source: prim_mapAttrs + scopes: + - variable.other.unknown.prim_mapAttrs - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -43329,7 +45285,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43370,7 +45328,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43484,7 +45444,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -43494,11 +45456,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison -- source: ' listSize' +- source: listSize + scopes: + - variable.other.unknown.listSize - source: ; scopes: - punctuation.terminator.statement @@ -43506,6 +45472,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -43540,6 +45508,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -43572,10 +45542,14 @@ scopes: - keyword.operator.arithmetic - source: vElem + scopes: + - variable.other.unknown.vElem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' noPos' +- source: noPos + scopes: + - variable.other.unknown.noPos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43672,11 +45646,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'TypeError ' +- source: TypeError + scopes: + - variable.other.unknown.TypeError - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -43714,6 +45692,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -43779,6 +45759,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43878,7 +45860,9 @@ - punctuation.separator.colon.range-based scopesEnd: - meta.binding -- source: ' attrsSeen' +- source: attrsSeen + scopes: + - variable.other.unknown.attrsSeen scopesEnd: - meta.parens.control.for - source: ) @@ -43918,6 +45902,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: sym + scopes: + - variable.other.unknown.sym - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43937,6 +45923,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: list + scopes: + - variable.other.unknown.list - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -44040,7 +46028,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -44050,11 +46040,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison -- source: ' listSize' +- source: listSize + scopes: + - variable.other.unknown.listSize - source: ; scopes: - punctuation.terminator.statement @@ -44062,6 +46056,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -44096,6 +46092,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -44384,7 +46382,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' name' +- source: name + scopes: + - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44433,6 +46433,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: call1 + scopes: + - variable.other.unknown.call1 - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -44463,7 +46465,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' call2' +- source: call2 + scopes: + - variable.other.unknown.call2 - source: ; scopes: - punctuation.terminator.statement @@ -44609,7 +46613,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_zipAttrsWith' +- source: prim_zipAttrsWith + scopes: + - variable.other.unknown.prim_zipAttrsWith - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -44764,7 +46770,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44814,7 +46822,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nList' +- source: nList + scopes: + - variable.other.unknown.nList - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -44922,7 +46932,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_isList' +- source: prim_isList + scopes: + - variable.other.unknown.prim_isList - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -45041,10 +47053,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: list + scopes: + - variable.other.unknown.list - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -45059,7 +47075,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison @@ -45087,7 +47105,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '>=' scopes: - keyword.operator.comparison @@ -45130,7 +47150,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -45158,14 +47181,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' n' +- source: 'n' + scopes: + - variable.other.unknown.n - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -45184,6 +47212,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -45235,6 +47265,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -45243,14 +47275,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' v ' +- source: v + scopes: + - variable.other.unknown.v - source: '=' scopes: - keyword.operator.assignment @@ -45278,6 +47314,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -45392,10 +47430,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -45455,14 +47497,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -45589,7 +47635,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_elemAt' +- source: prim_elemAt + scopes: + - variable.other.unknown.prim_elemAt - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -45706,10 +47754,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -45741,7 +47793,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -45851,7 +47905,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_head' +- source: prim_head + scopes: + - variable.other.unknown.prim_head - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -45997,7 +48053,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -46070,7 +48128,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -46097,7 +48158,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -46116,6 +48180,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -46144,6 +48210,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -46204,7 +48272,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -46214,7 +48284,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison @@ -46240,6 +48312,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -46268,6 +48342,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -46309,7 +48385,9 @@ - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square -- source: 'n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: + scopes: - keyword.operator.arithmetic @@ -46431,7 +48509,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_tail' +- source: prim_tail + scopes: + - variable.other.unknown.prim_tail - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -46575,7 +48655,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -46595,6 +48677,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -46649,7 +48733,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -46659,7 +48745,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison @@ -46685,6 +48773,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -46714,6 +48804,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -46804,6 +48896,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -46939,7 +49033,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_map' +- source: prim_map + scopes: + - variable.other.unknown.prim_map - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -47085,7 +49181,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -47126,7 +49224,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -47141,7 +49241,9 @@ - source: ' FIXME: putting this on the stack is risky.' scopesEnd: - comment.line.double-slash -- source: ' Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic @@ -47245,7 +49347,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -47255,7 +49359,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison @@ -47294,6 +49400,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -47387,6 +49495,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -47395,11 +49505,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' res' +- source: res + scopes: + - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' noPos' +- source: noPos + scopes: + - variable.other.unknown.noPos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -47427,10 +49541,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: res + scopes: + - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -47448,6 +49566,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: k + scopes: + - variable.other.unknown.k - source: ++ scopes: - keyword.operator.increment @@ -47493,6 +49613,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -47504,7 +49626,9 @@ - source: else scopes: - keyword.control.else -- source: ' same ' +- source: same + scopes: + - variable.other.unknown.same - source: '=' scopes: - keyword.operator.assignment @@ -47528,12 +49652,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: same + scopes: + - variable.other.unknown.same - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' v ' +- source: v + scopes: + - variable.other.unknown.v - source: '=' scopes: - keyword.operator.assignment @@ -47580,10 +49708,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' k' +- source: k + scopes: + - variable.other.unknown.k - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -47607,7 +49739,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -47617,11 +49751,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison -- source: ' k' +- source: k + scopes: + - variable.other.unknown.k - source: ; scopes: - punctuation.terminator.statement @@ -47629,6 +49767,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -47657,6 +49797,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -47674,6 +49816,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -47807,7 +49951,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_filter' +- source: prim_filter + scopes: + - variable.other.unknown.prim_filter - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -47968,7 +50114,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -48077,6 +50225,8 @@ scopes: - keyword.operator.arithmetic - source: elem + scopes: + - variable.other.unknown.elem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -48090,7 +50240,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' res ' +- source: res + scopes: + - variable.other.unknown.res - source: '=' scopes: - keyword.operator.assignment @@ -48124,6 +50276,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: res + scopes: + - variable.other.unknown.res - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -48250,7 +50404,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_elem' +- source: prim_elem + scopes: + - variable.other.unknown.prim_elem - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -48394,7 +50550,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -48414,6 +50572,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -48479,7 +50639,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -48587,7 +50749,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_concatLists' +- source: prim_concatLists + scopes: + - variable.other.unknown.prim_concatLists - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -48731,7 +50895,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -48885,7 +51051,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_length' +- source: prim_length + scopes: + - variable.other.unknown.prim_length - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -49030,7 +51198,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -49071,7 +51241,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -49241,21 +51413,30 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic -- source: ' vs []' +- source: vs + scopes: + - variable.other.unknown.vs +- source: ' []' - source: '{' scopesBegin: - meta.block scopes: - punctuation.section.block.begin.bracket.curly - source: vCur + scopes: + - variable.other.unknown.vCur - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' elem' +- source: elem + scopes: + - variable.other.unknown.elem - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -49264,11 +51445,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' vCur ' +- source: vCur + scopes: + - variable.other.unknown.vCur - source: '=' scopes: - keyword.operator.assignment -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '==' scopes: - keyword.operator.comparison @@ -49312,7 +51497,9 @@ - source: '&' scopes: - keyword.operator.bitwise -- source: 'v ' +- source: v + scopes: + - variable.other.unknown.v - source: ':' scopes: - keyword.operator.ternary @@ -49374,7 +51561,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vs' +- source: vs + scopes: + - variable.other.unknown.vs - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -49382,10 +51571,14 @@ scopes: - keyword.operator.arithmetic - source: vCur + scopes: + - variable.other.unknown.vCur - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -49410,10 +51603,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -49467,14 +51664,18 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement -- source: ' v ' +- source: v + scopes: + - variable.other.unknown.v - source: '=' scopes: - keyword.operator.assignment @@ -49642,7 +51843,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_foldlStrict' +- source: prim_foldlStrict + scopes: + - variable.other.unknown.prim_foldlStrict - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -49785,7 +51988,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -49826,7 +52031,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -49942,14 +52149,20 @@ scopes: - keyword.operator.arithmetic - source: elem + scopes: + - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vTmp' +- source: vTmp + scopes: + - variable.other.unknown.vTmp - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -49980,10 +52193,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: vTmp + scopes: + - variable.other.unknown.vTmp - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -49998,11 +52215,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'res ' +- source: res + scopes: + - variable.other.unknown.res - source: '==' scopes: - keyword.operator.comparison -- source: ' any' +- source: any + scopes: + - variable.other.unknown.any - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -50026,6 +52247,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: any + scopes: + - variable.other.unknown.any - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -50064,6 +52287,8 @@ scopes: - keyword.operator.logical - source: any + scopes: + - variable.other.unknown.any - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -50167,19 +52392,27 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' state' +- source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' args' +- source: args + scopes: + - variable.other.unknown.args - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50306,7 +52539,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_any' +- source: prim_any + scopes: + - variable.other.unknown.prim_any - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -50417,19 +52652,27 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' state' +- source: state + scopes: + - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' args' +- source: args + scopes: + - variable.other.unknown.args - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -50556,7 +52799,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_all' +- source: prim_all + scopes: + - variable.other.unknown.prim_all - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -50700,7 +52945,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -50715,7 +52962,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'len ' +- source: len + scopes: + - variable.other.unknown.len - source: < scopes: - keyword.operator.comparison @@ -50746,7 +52995,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -50773,14 +53025,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -50799,6 +53056,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -50827,10 +53086,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -50854,7 +53117,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -50864,7 +53129,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison @@ -50886,7 +53153,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ; scopes: - punctuation.terminator.statement @@ -50894,6 +53163,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -50948,6 +53219,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: 'n' + scopes: + - variable.other.unknown.n - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -50980,6 +53253,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -51036,7 +53311,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' arg' +- source: arg + scopes: + - variable.other.unknown.arg - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -51172,7 +53449,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_genList' +- source: prim_genList + scopes: + - variable.other.unknown.prim_genList - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -51386,7 +53665,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -51427,7 +53708,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -51489,10 +53772,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -51516,7 +53803,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -51526,11 +53815,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ; scopes: - punctuation.terminator.statement @@ -51538,6 +53831,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -51599,6 +53894,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -51607,7 +53904,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -51635,6 +53934,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -51677,6 +53978,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -51833,7 +54136,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' prim_lessThan' +- source: prim_lessThan + scopes: + - variable.other.unknown.prim_lessThan - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -51849,6 +54154,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: state + scopes: + - variable.other.unknown.state - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -51858,10 +54165,14 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -51870,7 +54181,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic @@ -51892,10 +54205,14 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: a + scopes: + - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' b' +- source: b + scopes: + - variable.other.unknown.b - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -51904,7 +54221,12 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' Value vBool' +- source: Value + scopes: + - variable.other.unknown.Value +- source: vBool + scopes: + - variable.other.unknown.vBool - source: ; scopes: - punctuation.terminator.statement @@ -51948,15 +54270,21 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vs' +- source: vs + scopes: + - variable.other.unknown.vs - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vBool' +- source: vBool + scopes: + - variable.other.unknown.vBool - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -51979,10 +54307,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: vBool + scopes: + - variable.other.unknown.vBool - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -52059,11 +54391,15 @@ - source: + scopes: - keyword.operator.arithmetic -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' comparator' +- source: comparator + scopes: + - variable.other.unknown.comparator - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -52198,7 +54534,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_sort' +- source: prim_sort + scopes: + - variable.other.unknown.prim_sort - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -52331,7 +54669,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -52372,7 +54712,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -52431,7 +54773,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' wrong' +- source: wrong + scopes: + - variable.other.unknown.wrong - source: ; scopes: - punctuation.terminator.statement @@ -52452,7 +54796,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -52462,11 +54808,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ; scopes: - punctuation.terminator.statement @@ -52474,6 +54824,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -52531,6 +54883,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -52555,10 +54909,14 @@ scopes: - keyword.operator.arithmetic - source: vElem + scopes: + - variable.other.unknown.vElem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -52613,14 +54971,20 @@ scopes: - keyword.operator.arithmetic - source: vElem + scopes: + - variable.other.unknown.vElem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' res' +- source: res + scopes: + - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -52648,10 +55012,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: res + scopes: + - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -52673,6 +55041,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: vElem + scopes: + - variable.other.unknown.vElem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -52695,6 +55065,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: vElem + scopes: + - variable.other.unknown.vElem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -52821,10 +55193,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: vRight + scopes: + - variable.other.unknown.vRight - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' rsize' +- source: rsize + scopes: + - variable.other.unknown.rsize - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -52840,6 +55216,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: rsize + scopes: + - variable.other.unknown.rsize - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -52894,9 +55272,11 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.operator.sizeof -- source: 'Value ' +- source: Value scopesBegin: - meta.arguments.operator.sizeof + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic @@ -52908,7 +55288,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' rsize' +- source: rsize + scopes: + - variable.other.unknown.rsize - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -52998,10 +55380,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: vWrong + scopes: + - variable.other.unknown.vWrong - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' wsize' +- source: wsize + scopes: + - variable.other.unknown.wsize - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -53017,6 +55403,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: wsize + scopes: + - variable.other.unknown.wsize - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -53071,9 +55459,11 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.operator.sizeof -- source: 'Value ' +- source: Value scopesBegin: - meta.arguments.operator.sizeof + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic @@ -53085,7 +55475,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' wsize' +- source: wsize + scopes: + - variable.other.unknown.wsize - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -53105,6 +55497,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs + scopes: + - variable.other.unknown.attrs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -53241,7 +55635,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_partition' +- source: prim_partition + scopes: + - variable.other.unknown.prim_partition - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -53374,7 +55770,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -53415,7 +55813,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -53541,14 +55941,20 @@ scopes: - keyword.operator.arithmetic - source: vElem + scopes: + - variable.other.unknown.vElem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' res' +- source: res + scopes: + - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -53579,10 +55985,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: res + scopes: + - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -53619,6 +56029,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: name + scopes: + - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -53649,6 +56061,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: sym + scopes: + - variable.other.unknown.sym - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -53692,6 +56106,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: vElem + scopes: + - variable.other.unknown.vElem - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -53771,7 +56187,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' attrs' +- source: attrs + scopes: + - variable.other.unknown.attrs scopesEnd: - meta.parens.control.for - source: ) @@ -53873,10 +56291,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: list + scopes: + - variable.other.unknown.list - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' size' +- source: size + scopes: + - variable.other.unknown.size - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -53938,9 +56360,11 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.operator.sizeof -- source: 'Value ' +- source: Value scopesBegin: - meta.arguments.operator.sizeof + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic @@ -53952,7 +56376,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' size' +- source: size + scopes: + - variable.other.unknown.size - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -54127,7 +56553,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_groupBy' +- source: prim_groupBy + scopes: + - variable.other.unknown.prim_groupBy - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -54260,7 +56688,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -54301,7 +56731,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -54350,7 +56782,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' Value ' +- source: Value + scopes: + - variable.other.unknown.Value - source: lists scopesBegin: - meta.bracket.square.access @@ -54360,6 +56794,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: nrLists + scopes: + - variable.other.unknown.nrLists - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -54402,7 +56838,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -54412,11 +56850,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison -- source: ' nrLists' +- source: nrLists + scopes: + - variable.other.unknown.nrLists - source: ; scopes: - punctuation.terminator.statement @@ -54424,6 +56866,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -54483,6 +56927,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -54529,6 +56975,8 @@ scopes: - keyword.operator.arithmetic - source: vElem + scopes: + - variable.other.unknown.vElem - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -54541,6 +56989,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -54549,7 +56999,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -54585,6 +57037,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -54602,6 +57056,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -54642,6 +57098,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -54665,11 +57123,15 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'TypeError ' +- source: TypeError + scopes: + - variable.other.unknown.TypeError - source: '&' scopes: - keyword.operator.bitwise - source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -54707,6 +57169,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -54772,6 +57236,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -54783,7 +57249,9 @@ - punctuation.section.block.end.bracket.curly scopesEnd: - meta.block -- source: ' len ' +- source: len + scopes: + - variable.other.unknown.len - source: += scopes: - keyword.operator.assignment.compound @@ -54796,6 +57264,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -54834,10 +57304,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -54890,7 +57364,9 @@ scopesEnd: - storage.type.primitive - storage.type.built-in.primitive -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: '=' scopes: - keyword.operator.assignment @@ -54900,7 +57376,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: '=' scopes: - keyword.operator.assignment @@ -54910,11 +57388,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' n ' +- source: 'n' + scopes: + - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison -- source: ' nrLists' +- source: nrLists + scopes: + - variable.other.unknown.nrLists - source: ; scopes: - punctuation.terminator.statement @@ -54922,6 +57404,8 @@ scopes: - keyword.operator.increment - source: 'n' + scopes: + - variable.other.unknown.n scopesEnd: - meta.parens.control.for - source: ) @@ -54954,6 +57438,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -54983,6 +57469,8 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: l + scopes: + - variable.other.unknown.l - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -54994,11 +57482,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'out ' +- source: out + scopes: + - variable.other.unknown.out - source: + scopes: - keyword.operator.arithmetic -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -55011,6 +57503,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -55031,7 +57525,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' l ' +- source: l + scopes: + - variable.other.unknown.l - source: '*' scopes: - keyword.operator.arithmetic @@ -55042,9 +57538,11 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.operator.sizeof -- source: 'Value ' +- source: Value scopesBegin: - meta.arguments.operator.sizeof + scopes: + - variable.other.unknown.Value - source: '*' scopes: - keyword.operator.arithmetic @@ -55059,11 +57557,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' pos ' +- source: pos + scopes: + - variable.other.unknown.pos - source: += scopes: - keyword.operator.assignment.compound -- source: ' l' +- source: l + scopes: + - variable.other.unknown.l - source: ; scopes: - punctuation.terminator.statement @@ -55192,7 +57694,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_concatMap' +- source: prim_concatMap + scopes: + - variable.other.unknown.prim_concatMap - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -55336,7 +57840,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -55377,7 +57883,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -55423,7 +57931,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat ' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: '||' scopes: - keyword.operator.logical @@ -55458,7 +57968,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -55510,7 +58022,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -55551,7 +58065,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -55610,7 +58126,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -55651,7 +58169,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -55780,7 +58300,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_add' +- source: prim_add + scopes: + - variable.other.unknown.prim_add - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -55913,7 +58435,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -55954,7 +58478,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -56000,7 +58526,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat ' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: '||' scopes: - keyword.operator.logical @@ -56035,7 +58563,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -56087,7 +58617,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -56128,7 +58660,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -56187,7 +58721,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -56228,7 +58764,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -56357,7 +58895,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_sub' +- source: prim_sub + scopes: + - variable.other.unknown.prim_sub - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -56490,7 +59030,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -56531,7 +59073,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -56577,7 +59121,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat ' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: '||' scopes: - keyword.operator.logical @@ -56612,7 +59158,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -56664,7 +59212,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -56705,7 +59255,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -56764,7 +59316,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -56805,7 +59359,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -56934,7 +59490,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_mul' +- source: prim_mul + scopes: + - variable.other.unknown.prim_mul - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -57067,7 +59625,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -57108,7 +59668,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -57159,7 +59721,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -57174,7 +59738,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'f2 ' +- source: f2 + scopes: + - variable.other.unknown.f2 - source: '==' scopes: - keyword.operator.comparison @@ -57205,7 +59771,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -57232,7 +59801,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -57251,6 +59823,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -57305,7 +59879,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat ' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: '||' scopes: - keyword.operator.logical @@ -57340,7 +59916,9 @@ - source: '==' scopes: - keyword.operator.comparison -- source: ' nFloat' +- source: nFloat + scopes: + - variable.other.unknown.nFloat - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -57397,7 +59975,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -57438,7 +60018,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -57505,7 +60087,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -57556,7 +60140,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -57582,7 +60168,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'i1 ' +- source: i1 + scopes: + - variable.other.unknown.i1 - source: '==' scopes: - keyword.operator.comparison @@ -57628,7 +60216,9 @@ - source: '&&' scopes: - keyword.operator.logical -- source: ' i2 ' +- source: i2 + scopes: + - variable.other.unknown.i2 - source: '==' scopes: - keyword.operator.comparison @@ -57662,7 +60252,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -57689,7 +60282,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -57708,6 +60304,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -57735,11 +60333,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.member -- source: 'i1 ' +- source: i1 + scopes: + - variable.other.unknown.i1 - source: / scopes: - keyword.operator.arithmetic -- source: ' i2' +- source: i2 + scopes: + - variable.other.unknown.i2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -57870,7 +60472,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_div' +- source: prim_div + scopes: + - variable.other.unknown.prim_div - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -58015,7 +60619,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -58056,7 +60662,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -58185,7 +60793,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_bitAnd' +- source: prim_bitAnd + scopes: + - variable.other.unknown.prim_bitAnd - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -58330,7 +60940,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -58371,7 +60983,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -58500,7 +61114,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_bitOr' +- source: prim_bitOr + scopes: + - variable.other.unknown.prim_bitOr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -58645,7 +61261,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -58686,7 +61304,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -58815,7 +61435,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_bitXor' +- source: prim_bitXor + scopes: + - variable.other.unknown.prim_bitXor - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -58948,7 +61570,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -58989,7 +61613,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -59009,6 +61635,8 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: state + scopes: + - variable.other.unknown.state - source: '}' scopes: - punctuation.section.block.end.bracket.curly @@ -59200,7 +61828,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_lessThan' +- source: prim_lessThan + scopes: + - variable.other.unknown.prim_lessThan - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -59358,6 +61988,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -59383,7 +62015,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -59418,10 +62052,14 @@ scopes: - keyword.operator.arithmetic - source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -59537,7 +62175,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_toString' +- source: prim_toString + scopes: + - variable.other.unknown.prim_toString - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -59695,7 +62335,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -59747,7 +62389,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -59788,6 +62432,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -59813,7 +62459,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -59828,7 +62476,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'start ' +- source: start + scopes: + - variable.other.unknown.start - source: < scopes: - keyword.operator.comparison @@ -59859,7 +62509,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -59886,7 +62539,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -59905,6 +62561,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -59950,7 +62608,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' start ' +- source: start + scopes: + - variable.other.unknown.start - source: '>=' scopes: - keyword.operator.comparison @@ -59998,17 +62658,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: start + scopes: + - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -60157,7 +62823,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_substring' +- source: prim_substring + scopes: + - variable.other.unknown.prim_substring - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -60290,6 +62958,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -60315,7 +62985,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -60457,7 +63129,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_stringLength' +- source: prim_stringLength + scopes: + - variable.other.unknown.prim_stringLength - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -60612,7 +63286,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -60659,6 +63335,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: type + scopes: + - variable.other.unknown.type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -60677,6 +63355,8 @@ scopes: - keyword.operator.logical - source: ht + scopes: + - variable.other.unknown.ht - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -60701,7 +63381,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -60729,14 +63412,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' type' +- source: type + scopes: + - variable.other.unknown.type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -60755,6 +63443,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -60833,11 +63523,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -60866,10 +63560,14 @@ scopes: - keyword.operator.arithmetic - source: ht + scopes: + - variable.other.unknown.ht - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' s' +- source: s + scopes: + - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -60883,6 +63581,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: Base16 + scopes: + - variable.other.unknown.Base16 - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -61019,7 +63719,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_hashString' +- source: prim_hashString + scopes: + - variable.other.unknown.prim_hashString - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -61228,6 +63930,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: re + scopes: + - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -61242,7 +63946,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'it ' +- source: it + scopes: + - variable.other.unknown.it - source: '!=' scopes: - keyword.operator.comparison @@ -61294,6 +64000,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: re + scopes: + - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -61379,6 +64087,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: extended + scopes: + - variable.other.unknown.extended - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -61627,7 +64337,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -61672,6 +64384,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: re + scopes: + - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -61736,11 +64450,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -61827,11 +64545,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' match' +- source: match + scopes: + - variable.other.unknown.match - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' regex' +- source: regex + scopes: + - variable.other.unknown.regex - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -61933,10 +64655,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -61957,7 +64683,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -61967,11 +64695,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ; scopes: - punctuation.terminator.statement @@ -61979,6 +64711,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -62011,6 +64745,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -62055,6 +64791,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -62127,6 +64865,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -62172,7 +64912,9 @@ - source: '[' scopes: - punctuation.definition.begin.bracket.square -- source: 'i ' +- source: i + scopes: + - variable.other.unknown.i - source: + scopes: - keyword.operator.arithmetic @@ -62227,11 +64969,15 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'regex_error ' +- source: regex_error + scopes: + - variable.other.unknown.regex_error - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -62283,6 +65029,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_space + scopes: + - variable.other.unknown.error_space - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -62320,7 +65068,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -62348,14 +65099,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' re' +- source: re + scopes: + - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -62374,6 +65130,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -62416,7 +65174,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -62444,14 +65205,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' re' +- source: re + scopes: + - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -62470,6 +65236,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -62628,7 +65396,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_match' +- source: prim_match + scopes: + - variable.other.unknown.prim_match - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -62781,7 +65551,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -62826,6 +65598,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: re + scopes: + - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -62890,11 +65664,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -62961,7 +65739,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' regex' +- source: regex + scopes: + - variable.other.unknown.regex - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -63034,10 +65814,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: begin + scopes: + - variable.other.unknown.begin - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' end' +- source: end + scopes: + - variable.other.unknown.end - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -63057,6 +65841,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -63066,7 +65852,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' len ' +- source: len + scopes: + - variable.other.unknown.len - source: + scopes: - keyword.operator.arithmetic @@ -63104,7 +65892,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'len ' +- source: len + scopes: + - variable.other.unknown.len - source: '==' scopes: - keyword.operator.comparison @@ -63142,6 +65932,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: idx + scopes: + - variable.other.unknown.idx - source: ++ scopes: - keyword.operator.increment @@ -63197,19 +65989,27 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment -- source: ' begin' +- source: begin + scopes: + - variable.other.unknown.begin - source: ; scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison -- source: ' end' +- source: end + scopes: + - variable.other.unknown.end - source: ; scopes: - punctuation.terminator.statement @@ -63217,6 +66017,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -63235,7 +66037,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'idx ' +- source: idx + scopes: + - variable.other.unknown.idx - source: <= scopes: - keyword.operator.comparison @@ -63245,7 +66049,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' len ' +- source: len + scopes: + - variable.other.unknown.len - source: + scopes: - keyword.operator.arithmetic @@ -63279,6 +66085,8 @@ scopes: - keyword.operator.arithmetic - source: i + scopes: + - variable.other.unknown.i - source: ; scopes: - punctuation.terminator.statement @@ -63316,6 +66124,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: idx + scopes: + - variable.other.unknown.idx - source: ++ scopes: - keyword.operator.increment @@ -63467,6 +66277,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: idx + scopes: + - variable.other.unknown.idx - source: ++ scopes: - keyword.operator.increment @@ -63520,10 +66332,14 @@ scopes: - keyword.operator.arithmetic - source: elem + scopes: + - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' slen' +- source: slen + scopes: + - variable.other.unknown.slen - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -63544,7 +66360,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' si ' +- source: si + scopes: + - variable.other.unknown.si - source: '=' scopes: - keyword.operator.assignment @@ -63554,11 +66372,15 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' si ' +- source: si + scopes: + - variable.other.unknown.si - source: < scopes: - keyword.operator.comparison -- source: ' slen' +- source: slen + scopes: + - variable.other.unknown.slen - source: ; scopes: - punctuation.terminator.statement @@ -63566,6 +66388,8 @@ scopes: - keyword.operator.increment - source: si + scopes: + - variable.other.unknown.si scopesEnd: - meta.parens.control.for - source: ) @@ -63597,7 +66421,9 @@ - source: '[' scopes: - punctuation.definition.begin.bracket.square -- source: 'si ' +- source: si + scopes: + - variable.other.unknown.si - source: + scopes: - keyword.operator.arithmetic @@ -63642,6 +66468,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: si + scopes: + - variable.other.unknown.si - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -63714,6 +66542,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: si + scopes: + - variable.other.unknown.si - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -63759,7 +66589,9 @@ - source: '[' scopes: - punctuation.definition.begin.bracket.square -- source: 'si ' +- source: si + scopes: + - variable.other.unknown.si - source: + scopes: - keyword.operator.arithmetic @@ -63810,7 +66642,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'idx ' +- source: idx + scopes: + - variable.other.unknown.idx - source: '==' scopes: - keyword.operator.comparison @@ -63820,7 +66654,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' len' +- source: len + scopes: + - variable.other.unknown.len - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -63848,6 +66684,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: idx + scopes: + - variable.other.unknown.idx - source: ++ scopes: - keyword.operator.increment @@ -63932,7 +66770,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'idx ' +- source: idx + scopes: + - variable.other.unknown.idx - source: '==' scopes: - keyword.operator.comparison @@ -63942,7 +66782,9 @@ - source: '*' scopes: - keyword.operator.arithmetic -- source: ' len ' +- source: len + scopes: + - variable.other.unknown.len - source: + scopes: - keyword.operator.arithmetic @@ -63975,11 +66817,15 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'regex_error ' +- source: regex_error + scopes: + - variable.other.unknown.regex_error - source: '&' scopes: - keyword.operator.bitwise -- source: ' e' +- source: e + scopes: + - variable.other.unknown.e - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -64031,6 +66877,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: error_space + scopes: + - variable.other.unknown.error_space - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -64068,7 +66916,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -64096,14 +66947,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' re' +- source: re + scopes: + - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -64122,6 +66978,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -64164,7 +67022,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -64192,14 +67053,19 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' re' +- source: re + scopes: + - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -64218,6 +67084,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -64377,7 +67245,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_split' +- source: prim_split + scopes: + - variable.other.unknown.prim_split - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -64531,11 +67401,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -64576,7 +67450,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -64770,12 +67646,16 @@ scopes: - punctuation.section.parens.begin.bracket.round - source: first + scopes: + - variable.other.unknown.first - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' first ' +- source: first + scopes: + - variable.other.unknown.first - source: '=' scopes: - keyword.operator.assignment @@ -64788,15 +67668,21 @@ - source: else scopes: - keyword.control.else -- source: ' res ' +- source: res + scopes: + - variable.other.unknown.res - source: += scopes: - keyword.operator.assignment.compound -- source: ' sep' +- source: sep + scopes: + - variable.other.unknown.sep - source: ; scopes: - punctuation.terminator.statement -- source: ' res ' +- source: res + scopes: + - variable.other.unknown.res - source: += scopes: - keyword.operator.assignment.compound @@ -64816,6 +67702,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: pos + scopes: + - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -64823,10 +67711,14 @@ scopes: - keyword.operator.arithmetic - source: elem + scopes: + - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -64851,10 +67743,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: res + scopes: + - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -64982,7 +67878,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_concatStringsSep' +- source: prim_concatStringsSep + scopes: + - variable.other.unknown.prim_concatStringsSep - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -65115,7 +68013,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -65156,7 +68056,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -65254,7 +68156,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .msg ' +- source: ' .' +- source: msg + scopes: + - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment @@ -65281,7 +68186,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .errPos ' +- source: ' .' +- source: errPos + scopes: + - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment @@ -65300,6 +68208,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: pos + scopes: + - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -65485,10 +68395,14 @@ scopes: - keyword.operator.arithmetic - source: elem + scopes: + - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member @@ -65712,14 +68626,20 @@ scopes: - keyword.operator.arithmetic - source: elem + scopes: + - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' ctx' +- source: ctx + scopes: + - variable.other.unknown.ctx - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -65739,6 +68659,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: s + scopes: + - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -65756,6 +68678,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: ctx + scopes: + - variable.other.unknown.ctx - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -65825,11 +68749,15 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -65878,7 +68806,9 @@ scopes: - storage.type - storage.type.built-in -- source: ' p ' +- source: p + scopes: + - variable.other.unknown.p - source: '=' scopes: - keyword.operator.assignment @@ -65888,7 +68818,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' p ' +- source: p + scopes: + - variable.other.unknown.p - source: <= scopes: - keyword.operator.comparison @@ -66010,7 +68942,9 @@ - meta.parens.control.for scopes: - punctuation.terminator.statement -- source: ' i ' +- source: i + scopes: + - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison @@ -66036,6 +68970,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -66043,6 +68979,8 @@ scopes: - keyword.operator.increment - source: j + scopes: + - variable.other.unknown.j scopesEnd: - meta.parens.control.for - source: ) @@ -66071,6 +69009,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: p + scopes: + - variable.other.unknown.p - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -66096,6 +69036,8 @@ scopes: - keyword.operator.arithmetic - source: i + scopes: + - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -66115,7 +69057,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' found ' +- source: found + scopes: + - variable.other.unknown.found - source: '=' scopes: - keyword.operator.assignment @@ -66125,7 +69069,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' res ' +- source: res + scopes: + - variable.other.unknown.res - source: += scopes: - keyword.operator.assignment.compound @@ -66182,7 +69128,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'p ' +- source: p + scopes: + - variable.other.unknown.p - source: < scopes: - keyword.operator.comparison @@ -66206,7 +69154,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' res ' +- source: res + scopes: + - variable.other.unknown.res - source: += scopes: - keyword.operator.assignment.compound @@ -66219,6 +69169,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: p + scopes: + - variable.other.unknown.p - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -66227,7 +69179,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' p' +- source: p + scopes: + - variable.other.unknown.p - source: ++ scopes: - keyword.operator.increment @@ -66247,7 +69201,9 @@ - meta.block scopes: - punctuation.section.block.begin.bracket.curly -- source: ' p ' +- source: p + scopes: + - variable.other.unknown.p - source: += scopes: - keyword.operator.assignment.compound @@ -66327,6 +69283,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: path + scopes: + - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -66380,6 +69338,8 @@ scopes: - keyword.operator.logical - source: found + scopes: + - variable.other.unknown.found - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -66398,7 +69358,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'p ' +- source: p + scopes: + - variable.other.unknown.p - source: < scopes: - keyword.operator.comparison @@ -66422,7 +69384,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' res ' +- source: res + scopes: + - variable.other.unknown.res - source: += scopes: - keyword.operator.assignment.compound @@ -66435,6 +69399,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: p + scopes: + - variable.other.unknown.p - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -66443,7 +69409,9 @@ - source: ; scopes: - punctuation.terminator.statement -- source: ' p' +- source: p + scopes: + - variable.other.unknown.p - source: ++ scopes: - keyword.operator.increment @@ -66473,10 +69441,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: res + scopes: + - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' context' +- source: context + scopes: + - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -66621,7 +69593,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_replaceStrings' +- source: prim_replaceStrings + scopes: + - variable.other.unknown.prim_replaceStrings - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -66776,7 +69750,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -66794,6 +69770,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: name + scopes: + - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -66943,6 +69921,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs + scopes: + - variable.other.unknown.attrs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -67055,7 +70035,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_parseDrvName' +- source: prim_parseDrvName + scopes: + - variable.other.unknown.prim_parseDrvName - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -67199,7 +70181,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -67251,7 +70235,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -67277,10 +70263,14 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: version1 + scopes: + - variable.other.unknown.version1 - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' version2' +- source: version2 + scopes: + - variable.other.unknown.version2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -67413,7 +70403,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_compareVersions' +- source: prim_compareVersions + scopes: + - variable.other.unknown.prim_compareVersions - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -67557,7 +70549,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' pos' +- source: pos + scopes: + - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -67611,7 +70605,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'iter ' +- source: iter + scopes: + - variable.other.unknown.iter - source: '!=' scopes: - keyword.operator.comparison @@ -67658,6 +70654,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: iter + scopes: + - variable.other.unknown.iter - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -67729,6 +70727,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: component + scopes: + - variable.other.unknown.component - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -67753,6 +70753,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -67826,6 +70828,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: components + scopes: + - variable.other.unknown.components - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -67858,6 +70862,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -67909,6 +70915,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: component + scopes: + - variable.other.unknown.component - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68021,7 +71029,9 @@ - source: '=' scopes: - keyword.operator.assignment -- source: ' prim_splitVersion' +- source: prim_splitVersion + scopes: + - variable.other.unknown.prim_splitVersion - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -68056,7 +71066,9 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: 'PrimOps ' +- source: PrimOps + scopes: + - variable.other.unknown.PrimOps - source: '*' scopes: - keyword.operator.arithmetic @@ -68068,6 +71080,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: primOps + scopes: + - variable.other.unknown.primOps - source: ; scopes: - punctuation.terminator.statement @@ -68091,7 +71105,12 @@ scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution -- source: string name +- source: string + scopes: + - variable.other.unknown.string +- source: name + scopes: + - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -68099,11 +71118,18 @@ scopes: - storage.type - storage.type.built-in -- source: ' arity' +- source: arity + scopes: + - variable.other.unknown.arity - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' PrimOpFun fun' +- source: PrimOpFun + scopes: + - variable.other.unknown.PrimOpFun +- source: fun + scopes: + - variable.other.unknown.fun - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68124,12 +71150,16 @@ scopes: - keyword.operator.logical - source: primOps + scopes: + - variable.other.unknown.primOps - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' primOps ' +- source: primOps + scopes: + - variable.other.unknown.primOps - source: '=' scopes: - keyword.operator.assignment @@ -68137,7 +71167,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.new -- source: ' PrimOps' +- source: PrimOps + scopes: + - variable.other.unknown.PrimOps - source: ; scopes: - punctuation.terminator.statement @@ -68154,15 +71186,23 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: '{' -- source: ' .name ' +- source: ' .' +- source: name + scopes: + - variable.other.unknown.name - source: '=' scopes: - keyword.operator.assignment -- source: ' name' +- source: name + scopes: + - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .args ' +- source: ' .' +- source: args + scopes: + - variable.other.unknown.args - source: '=' scopes: - keyword.operator.assignment @@ -68170,19 +71210,29 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .arity ' +- source: ' .' +- source: arity + scopes: + - variable.other.unknown.arity - source: '=' scopes: - keyword.operator.assignment -- source: ' arity' +- source: arity + scopes: + - variable.other.unknown.arity - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .fun ' +- source: ' .' +- source: fun + scopes: + - variable.other.unknown.fun - source: '=' scopes: - keyword.operator.assignment -- source: ' fun' +- source: fun + scopes: + - variable.other.unknown.fun - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -68211,11 +71261,15 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'Info ' +- source: Info + scopes: + - variable.other.unknown.Info - source: '&&' scopes: - keyword.operator.logical -- source: ' info' +- source: info + scopes: + - variable.other.unknown.info - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68236,12 +71290,16 @@ scopes: - keyword.operator.logical - source: primOps + scopes: + - variable.other.unknown.primOps - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' primOps ' +- source: primOps + scopes: + - variable.other.unknown.primOps - source: '=' scopes: - keyword.operator.assignment @@ -68249,7 +71307,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.new -- source: ' PrimOps' +- source: PrimOps + scopes: + - variable.other.unknown.PrimOps - source: ; scopes: - punctuation.terminator.statement @@ -68279,6 +71339,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: info + scopes: + - variable.other.unknown.info - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68437,7 +71499,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68485,7 +71549,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68533,7 +71599,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68578,7 +71646,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68665,7 +71735,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68731,7 +71803,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68756,6 +71830,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: nixVersion + scopes: + - variable.other.unknown.nixVersion - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -68782,7 +71858,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68836,7 +71914,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68898,7 +71978,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68966,7 +72048,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' prim_importNative' +- source: prim_importNative + scopes: + - variable.other.unknown.prim_importNative - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -68999,7 +72083,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' prim_exec' +- source: prim_exec + scopes: + - variable.other.unknown.prim_exec - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -69029,6 +72115,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: v + scopes: + - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -69094,7 +72182,9 @@ - source: ':' scopes: - punctuation.separator.colon.range-based -- source: ' searchPath' +- source: searchPath + scopes: + - variable.other.unknown.searchPath scopesEnd: - meta.parens.control.for - source: ) @@ -69259,6 +72349,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: 'n' + scopes: + - variable.other.unknown.n - source: ++ scopes: - keyword.operator.increment @@ -69294,6 +72386,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs + scopes: + - variable.other.unknown.attrs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -69325,7 +72419,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' v' +- source: v + scopes: + - variable.other.unknown.v - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -69348,6 +72444,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: primOps + scopes: + - variable.other.unknown.primOps - source: ) scopes: - punctuation.section.parens.end.bracket.round @@ -69388,6 +72486,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: primOps + scopes: + - variable.other.unknown.primOps scopesEnd: - meta.parens.control.for - source: ) @@ -69462,7 +72562,10 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: '{' -- source: ' .fun ' +- source: ' .' +- source: fun + scopes: + - variable.other.unknown.fun - source: '=' scopes: - keyword.operator.assignment @@ -69478,7 +72581,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .arity ' +- source: ' .' +- source: arity + scopes: + - variable.other.unknown.arity - source: '=' scopes: - keyword.operator.assignment @@ -69534,7 +72640,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .name ' +- source: ' .' +- source: name + scopes: + - variable.other.unknown.name - source: '=' scopes: - keyword.operator.assignment @@ -69550,7 +72659,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .args ' +- source: ' .' +- source: args + scopes: + - variable.other.unknown.args - source: '=' scopes: - keyword.operator.assignment @@ -69566,7 +72678,10 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' .doc ' +- source: ' .' +- source: doc + scopes: + - variable.other.unknown.doc - source: '=' scopes: - keyword.operator.assignment @@ -69606,7 +72721,9 @@ - punctuation.definition.comment.end scopesEnd: - comment.block -- source: ' sDerivationNix ' +- source: sDerivationNix + scopes: + - variable.other.unknown.sDerivationNix - source: '=' scopes: - keyword.operator.assignment @@ -69623,6 +72740,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.member - source: derivationNixPath + scopes: + - variable.other.unknown.derivationNixPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -69672,7 +72791,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' vDerivation' +- source: vDerivation + scopes: + - variable.other.unknown.vDerivation - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -69842,6 +72963,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: code + scopes: + - variable.other.unknown.code - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -69855,17 +72978,22 @@ - source: code scopes: - meta.arguments.operator.sizeof + - variable.other.unknown.code - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' foFile' +- source: foFile + scopes: + - variable.other.unknown.foFile - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' derivationNixPath' +- source: derivationNixPath + scopes: + - variable.other.unknown.derivationNixPath - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -69883,7 +73011,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' staticBaseEnv' +- source: staticBaseEnv + scopes: + - variable.other.unknown.staticBaseEnv - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -69894,6 +73024,8 @@ scopes: - keyword.operator.arithmetic - source: vDerivation + scopes: + - variable.other.unknown.vDerivation - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/raw_strings.spec.yaml b/language_examples/raw_strings.spec.yaml index fee77ad5..2c4688be 100644 --- a/language_examples/raw_strings.spec.yaml +++ b/language_examples/raw_strings.spec.yaml @@ -30,7 +30,9 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' vertexShader' +- source: vertexShader + scopes: + - variable.other.unknown.vertexShader - source: '{' scopesBegin: - meta.block @@ -74,7 +76,9 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' sqlQuery' +- source: sqlQuery + scopes: + - variable.other.unknown.sqlQuery - source: '{' scopesBegin: - meta.block @@ -110,7 +114,9 @@ - source: const scopes: - storage.modifier.specifier.const -- source: ' regexExpression' +- source: regexExpression + scopes: + - variable.other.unknown.regexExpression - source: '{' scopesBegin: - meta.block diff --git a/language_examples/test.spec.yaml b/language_examples/test.spec.yaml index 6f3da51e..2eec1620 100644 --- a/language_examples/test.spec.yaml +++ b/language_examples/test.spec.yaml @@ -17,6 +17,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: stderr + scopes: + - variable.other.unknown.stderr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -38,7 +40,9 @@ - source: ',' scopes: - punctuation.separator.delimiter.comma -- source: ' num_candidate' +- source: num_candidate + scopes: + - variable.other.unknown.num_candidate - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -59,7 +63,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' i' +- source: i + scopes: + - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment @@ -70,10 +76,14 @@ scopes: - punctuation.terminator.statement - source: i + scopes: + - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: num_candidate + scopes: + - variable.other.unknown.num_candidate - source: ; scopes: - punctuation.terminator.statement @@ -81,6 +91,8 @@ scopes: - keyword.operator.increment - source: i + scopes: + - variable.other.unknown.i scopesEnd: - meta.parens.control.for - source: ) @@ -95,6 +107,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: stderr + scopes: + - variable.other.unknown.stderr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -124,6 +138,8 @@ scopes: - punctuation.definition.begin.bracket.square - source: i + scopes: + - variable.other.unknown.i - source: ']' scopes: - punctuation.definition.end.bracket.square @@ -142,6 +158,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: stderr + scopes: + - variable.other.unknown.stderr - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -236,7 +254,9 @@ - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call -- source: 'obj ' +- source: obj + scopes: + - variable.other.unknown.obj - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -338,7 +358,9 @@ scopes: - keyword.operator.wordlike - keyword.operator.new -- source: ' O' +- source: O + scopes: + - variable.other.unknown.O - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -360,6 +382,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: options + scopes: + - variable.other.unknown.options - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/theme_demo.spec.yaml b/language_examples/theme_demo.spec.yaml index 372ab934..8e7385b0 100644 --- a/language_examples/theme_demo.spec.yaml +++ b/language_examples/theme_demo.spec.yaml @@ -20,7 +20,9 @@ - source: ) scopes: - punctuation.definition.parameters.end.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -860,7 +862,9 @@ - meta.function.definition.body.lambda scopes: - punctuation.section.block.begin.bracket.curly.lambda -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -928,6 +932,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments + scopes: + - variable.other.unknown.arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/language_examples/theme_demo1.spec.yaml b/language_examples/theme_demo1.spec.yaml index b1f0a071..e6553063 100644 --- a/language_examples/theme_demo1.spec.yaml +++ b/language_examples/theme_demo1.spec.yaml @@ -169,9 +169,11 @@ punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload scopesEnd: - meta.head.function.definition.special.operator-overload -- source: ' cout ' +- source: cout scopesBegin: - meta.body.function.definition.special.operator-overload + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -282,7 +284,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -323,7 +327,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'c ' +- source: c + scopes: + - variable.other.unknown.c - source: '>' scopes: - keyword.operator.comparison @@ -340,7 +346,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -391,7 +399,9 @@ - meta.parens scopes: - punctuation.section.parens.begin.bracket.round -- source: 'c ' +- source: c + scopes: + - variable.other.unknown.c - source: '>' scopes: - keyword.operator.comparison @@ -408,7 +418,9 @@ - punctuation.section.parens.end.bracket.round scopesEnd: - meta.parens -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/theme_demo2.spec.yaml b/language_examples/theme_demo2.spec.yaml index 44e74394..0d9b2169 100644 --- a/language_examples/theme_demo2.spec.yaml +++ b/language_examples/theme_demo2.spec.yaml @@ -20,7 +20,9 @@ - source: ) scopes: - punctuation.definition.parameters.end.preprocessor -- source: ' cout ' +- source: cout + scopes: + - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -969,7 +971,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing1' +- source: thing1 + scopes: + - variable.other.unknown.thing1 - source: ; scopes: - punctuation.terminator.statement @@ -980,7 +984,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing2' +- source: thing2 + scopes: + - variable.other.unknown.thing2 - source: ; scopes: - punctuation.terminator.statement @@ -1016,7 +1022,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing1' +- source: thing1 + scopes: + - variable.other.unknown.thing1 - source: ; scopes: - punctuation.terminator.statement @@ -1027,7 +1035,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing2' +- source: thing2 + scopes: + - variable.other.unknown.thing2 - source: ; scopes: - punctuation.terminator.statement @@ -1063,7 +1073,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing1' +- source: thing1 + scopes: + - variable.other.unknown.thing1 - source: ; scopes: - punctuation.terminator.statement @@ -1074,7 +1086,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing2' +- source: thing2 + scopes: + - variable.other.unknown.thing2 - source: ; scopes: - punctuation.terminator.statement @@ -1112,7 +1126,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing1' +- source: thing1 + scopes: + - variable.other.unknown.thing1 - source: ; scopes: - punctuation.terminator.statement @@ -1123,7 +1139,9 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive -- source: ' thing2' +- source: thing2 + scopes: + - variable.other.unknown.thing2 - source: ; scopes: - punctuation.terminator.statement @@ -1282,6 +1300,8 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments + scopes: + - variable.other.unknown.arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call diff --git a/main/main.rb b/main/main.rb index 9ea228d5..34920837 100644 --- a/main/main.rb +++ b/main/main.rb @@ -283,7 +283,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # :empty_square_brackets, (see https://github.com/jeff-hykin/better-cpp-syntax/pull/380#issuecomment-542491824) :semicolon, :comma, - # :unknown_variable, + :unknown_variable, ] grammar[:function_parameter_context] = [ :ever_present_context, # comments and macros @@ -1093,12 +1093,12 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: assignment_operators ) ) - # grammar[:unknown_variable] = Pattern.new( - # Pattern.new( - # tag_as: "variable.other.unknown.$match", - # match: variable_name, - # ) - # ) + grammar[:unknown_variable] = Pattern.new( + Pattern.new( + tag_as: "variable.other.unknown.$match", + match: variable_name, + ) + ) normal_type_pattern = maybe(declaration_storage_specifiers.then(std_space)).then(qualified_type.maybe(ref_deref[])) # normal variable assignment grammar[:variable_assignment] = Pattern.new( diff --git a/package.json b/package.json index f9317666..60b1a642 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.25.0", + "version": "1.26.0", "icon": "icon.png", "scripts": {}, "keywords": [ From 322a2456dc03747a2174ebefbd5343d986468d81 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Thu, 11 Jul 2024 14:00:12 -0500 Subject: [PATCH 59/65] - --- README.md | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a95b5227..bc92e0cd 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@

Screen Shot 2022-02-11 at 12 01 19 PM

-

+ # Sponsors diff --git a/package.json b/package.json index 60b1a642..36f49be4 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.26.0", + "version": "1.26.1", "icon": "icon.png", "scripts": {}, "keywords": [ From 9dda2fc2adbfd2a73cca1641d5b7688f9f7bfbcb Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Thu, 11 Jul 2024 14:12:11 -0500 Subject: [PATCH 60/65] - --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bc92e0cd..a95b5227 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@

Screen Shot 2022-02-11 at 12 01 19 PM

- +

# Sponsors From 28b373d751eab88b4a671424435c8ce14890000e Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Thu, 11 Jul 2024 14:12:27 -0500 Subject: [PATCH 61/65] - --- README.md | 8 -------- 1 file changed, 8 deletions(-) diff --git a/README.md b/README.md index a95b5227..4da4c2a1 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,6 @@

Screen Shot 2022-02-11 at 12 01 19 PM

-

- - - - - - -

# Sponsors From 780e597ed6f12bbc551e731f81665c87e09a30b3 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Fri, 12 Jul 2024 14:39:53 -0500 Subject: [PATCH 62/65] fix convention for edgecase tags --- main/main.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/main/main.rb b/main/main.rb index 34920837..f21fc456 100644 --- a/main/main.rb +++ b/main/main.rb @@ -1026,7 +1026,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: "bore" ], should_not_partial_match: ["return", "static const"], - tag_as: "meta.qualified_type", + tag_as: "meta.qualified-type", match: Pattern.new( leading_space.maybe( inline_attribute @@ -1383,15 +1383,15 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: start_pattern: Pattern.new( std_space.then( match: variableBounds[/static_assert|_Static_assert/], - tag_as: "keyword.other.static_assert", + tag_as: "keyword.other.static-assert", ).then(std_space).then( match: /\(/, - tag_as: "punctuation.section.arguments.begin.bracket.round.static_assert", + tag_as: "punctuation.section.arguments.begin.bracket.round.static-assert", ) ), end_pattern: Pattern.new( match: /\)/, - tag_as: "punctuation.section.arguments.end.bracket.round.static_assert", + tag_as: "punctuation.section.arguments.end.bracket.round.static-assert", ), includes: [ # special handling for the assert message @@ -1401,7 +1401,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: tag_as: "punctuation.separator.delimiter.comma", ).maybe(@spaces).lookAheadFor(maybe(Pattern.new(/L|u8|u|U/).maybe(@spaces).then(/\"/))), end_pattern: lookAheadFor(/\)/), - tag_as: "meta.static_assert.message", + tag_as: "meta.static-assert.message", includes: [ :string_context, ] From 75d2c02087778917c93e86ef75579e57720a745f Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Fri, 12 Jul 2024 15:34:35 -0500 Subject: [PATCH 63/65] add a lot of variable case information --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 704 +- autogenerated/cpp_scopes.txt | 39 +- language_examples/ #587.spec.yaml | 2 +- language_examples/#002.spec.yaml | 4 +- language_examples/#003.spec.yaml | 4 +- language_examples/#005.spec.yaml | 1 + language_examples/#006.spec.yaml | 1 + language_examples/#011.spec.yaml | 2 +- language_examples/#012.spec.yaml | 16 +- language_examples/#014.spec.yaml | 2 +- language_examples/#016.spec.yaml | 2 +- language_examples/#017.spec.yaml | 8 +- language_examples/#018.spec.yaml | 4 +- language_examples/#020.spec.yaml | 18 +- language_examples/#022.spec.yaml | 11 +- language_examples/#024.spec.yaml | 10 +- language_examples/#025.spec.yaml | 4 + language_examples/#026.spec.yaml | 10 +- language_examples/#027.spec.yaml | 1 + language_examples/#030.spec.yaml | 73 +- language_examples/#032.spec.yaml | 1 + language_examples/#033.spec.yaml | 3 + language_examples/#034.spec.yaml | 3 + language_examples/#035.spec.yaml | 5 +- language_examples/#036.spec.yaml | 1 + language_examples/#043.spec.yaml | 2 +- language_examples/#047.spec.yaml | 13 +- language_examples/#050.spec.yaml | 3 +- language_examples/#051.spec.yaml | 4 + language_examples/#053.spec.yaml | 2 +- language_examples/#055.spec.yaml | 2 +- language_examples/#058.spec.yaml | 2 +- language_examples/#059.spec.yaml | 23 +- language_examples/#060.spec.yaml | 11 +- language_examples/#062.spec.yaml | 1 + language_examples/#064.spec.yaml | 193 +- language_examples/#071.spec.yaml | 153 +- language_examples/#072.spec.yaml | 8 +- language_examples/#076.spec.yaml | 2 +- language_examples/#082.spec.yaml | 32 +- language_examples/#083.spec.yaml | 2 +- language_examples/#085.spec.yaml | 2 +- language_examples/#087.spec.yaml | 14 +- language_examples/#088.spec.yaml | 10 +- language_examples/#099.spec.yaml | 1 + language_examples/#100.spec.yaml | 2 +- language_examples/#106.spec.yaml | 4 +- language_examples/#110.spec.yaml | 2 +- language_examples/#113.spec.yaml | 7 +- language_examples/#121.spec.yaml | 8 +- language_examples/#123.spec.yaml | 2 + language_examples/#128.spec.yaml | 7 +- language_examples/#129.spec.yaml | 4 +- language_examples/#130.spec.yaml | 10 +- language_examples/#133.spec.yaml | 1 + language_examples/#134.spec.yaml | 30 +- language_examples/#136.spec.yaml | 3 +- language_examples/#141.spec.yaml | 10 +- language_examples/#158.spec.yaml | 2 +- language_examples/#166.spec.yaml | 8 +- language_examples/#186.spec.yaml | 6 + language_examples/#188.spec.yaml | 6 +- language_examples/#198.spec.yaml | 12 +- language_examples/#203.spec.yaml | 2 +- language_examples/#204.spec.yaml | 16 +- language_examples/#207.spec.yaml | 32 +- language_examples/#210.spec.yaml | 12 +- language_examples/#218.spec.yaml | 149 +- language_examples/#224.spec.yaml | 16 +- language_examples/#230.spec.yaml | 50 +- language_examples/#235.spec.yaml | 1 + language_examples/#238.spec.yaml | 1 + language_examples/#247.spec.yaml | 23 +- language_examples/#249.spec.yaml | 30 +- language_examples/#256.spec.yaml | 25 +- language_examples/#259.spec.yaml | 17 +- language_examples/#261.spec.yaml | 16 +- language_examples/#264.spec.yaml | 20 +- language_examples/#279.spec.yaml | 2 +- language_examples/#282.spec.yaml | 20 +- language_examples/#283.spec.yaml | 4 +- language_examples/#287.spec.yaml | 9 +- language_examples/#301.spec.yaml | 6 +- language_examples/#305.spec.yaml | 50 +- language_examples/#307.spec.yaml | 71 +- language_examples/#324.spec.yaml | 6 + language_examples/#341.spec.yaml | 2 +- language_examples/#350.spec.yaml | 29 +- language_examples/#353.spec.yaml | 2 +- language_examples/#370.spec.yaml | 3 + language_examples/#372.spec.yaml | 10 +- language_examples/#375.spec.yaml | 2 +- language_examples/#386.spec.yaml | 32 +- language_examples/#395.spec.yaml | 6 +- language_examples/#396.spec.yaml | 12 +- language_examples/#398.spec.yaml | 28 +- language_examples/#407.spec.yaml | 4 +- language_examples/#410.spec.yaml | 44 +- language_examples/#412.spec.yaml | 7 +- language_examples/#414.spec.yaml | 32 +- language_examples/#426.spec.yaml | 2 + language_examples/#427.spec.yaml | 2 +- language_examples/#432.spec.yaml | 9 +- language_examples/#433.spec.yaml | 25 +- language_examples/#438.spec.yaml | 32 +- language_examples/#442.spec.yaml | 279 +- language_examples/#443.spec.yaml | 8 + language_examples/#460.spec.yaml | 40 +- language_examples/#462.spec.yaml | 3 + language_examples/#489.spec.yaml | 10 +- language_examples/#501.spec.yaml | 57 +- language_examples/#511.spec.yaml | 2 +- language_examples/#530.spec.yaml | 83 +- language_examples/#569.spec.yaml | 2 +- language_examples/#590.spec.yaml | 26 +- language_examples/#604.spec.yaml | 7 +- language_examples/#610.spec.yaml | 26 +- language_examples/#613.spec.yaml | 2 +- language_examples/#617.spec.yaml | 13 +- language_examples/#621.spec.yaml | 18 + language_examples/#636.spec.yaml | 51 +- language_examples/#641.spec.yaml | 6 +- language_examples/#647.spec.yaml | 5 +- language_examples/#651.spec.yaml | 25 +- language_examples/#652.spec.yaml | 29 +- language_examples/#654.spec.yaml | 11 +- language_examples/#656.spec.yaml | 8 +- language_examples/#vs-73292.spec.yaml | 12 +- language_examples/#vs-76430.spec.yaml | 12 +- language_examples/#vs-cpp-3703.spec.yaml | 2 +- language_examples/638.spec.yaml | 16 +- language_examples/constructor_call.spec.yaml | 191 +- language_examples/feature_assembly.spec.yaml | 14 +- .../feature_basic_string_sso.spec.yaml | 1330 ++- language_examples/feature_consteval.spec.yaml | 8 +- language_examples/feature_constinit.spec.yaml | 4 +- language_examples/feature_doxygen.spec.yaml | 27 +- .../feature_operator_overload.spec.yaml | 37 +- .../feature_parameters.spec.yaml | 110 +- .../feature_preprocessor.spec.yaml | 48 +- .../feature_tagged_strings.spec.yaml | 3 + .../feature_thread_local.spec.yaml | 13 +- .../feature_trailing_return_types.spec.yaml | 276 +- .../feature_typedef_alias.spec.yaml | 2 +- language_examples/macro_issue.spec.yaml | 87 +- language_examples/misc_000.spec.yaml | 505 +- language_examples/misc_001.spec.yaml | 28 +- language_examples/misc_005.spec.yaml | 6206 ++++++++++--- language_examples/misc_006.spec.yaml | 505 +- language_examples/misc_asteria.spec.yaml | 2114 ++++- language_examples/misc_test.spec.yaml | 40 +- ...operator_overload_implicit_const.spec.yaml | 181 +- language_examples/pr_161.spec.yaml | 29 +- language_examples/pr_435.spec.yaml | 31 +- language_examples/ranged_for.spec.yaml | 8161 +++++++++++++---- language_examples/raw_strings.spec.yaml | 5 +- language_examples/test.spec.yaml | 41 +- language_examples/theme_demo.spec.yaml | 76 +- language_examples/theme_demo1.spec.yaml | 12 +- language_examples/theme_demo2.spec.yaml | 57 +- main/main.rb | 126 +- package-lock.json | 4 +- 163 files changed, 18270 insertions(+), 5150 deletions(-) diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index ee6c7e87..70e5dd8a 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"source.cpp#simple_array_assignment"},{"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"10":{"name":"entity.name.function.member.cpp"},"11":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>)","name":"keyword.operator.bitwise.shift.cpp"},{"match":"(?:!=|<=|>=|==|<|>)","name":"keyword.operator.comparison.cpp"},{"match":"(?:&&|!|\\|\\|)","name":"keyword.operator.logical.cpp"},{"match":"(?:&|\\||\\^|~)","name":"keyword.operator.bitwise.cpp"},{"match":"(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"(?:%|\\*|\\/|-|\\+)","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified_type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)([A-Z][A-Z_0-9]*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}}},{"match":"(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=)))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>)","name":"keyword.operator.bitwise.shift.cpp"},{"match":"(?:!=|<=|>=|==|<|>)","name":"keyword.operator.comparison.cpp"},{"match":"(?:&&|!|\\|\\|)","name":"keyword.operator.logical.cpp"},{"match":"(?:&|\\||\\^|~)","name":"keyword.operator.bitwise.cpp"},{"match":"(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"(?:%|\\*|\\/|-|\\+)","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", - "end": "\\)", - "beginCaptures": { - "1": { - "patterns": [ - { - "include": "#scope_resolution_function_call_inner_generated" + "patterns": [ + { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)([A-Z][A-Z_0-9]*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_call_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.function.call.upper-case.cpp entity.name.function.call.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] + }, + "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 punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp" } - ] - }, - "2": { - "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" - }, - "3": { - "patterns": [ - { - "include": "#template_call_range_helper" + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp punctuation.section.arguments.begin.bracket.round.function.call.upper-case.cpp" } - ] - }, - "4": { - }, - "5": { - "name": "entity.name.function.call.cpp" - }, - "6": { + }, "patterns": [ { - "include": "#inline_comment" + "include": "#evaluation_context" } ] }, - "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" - }, - "10": { - "name": "meta.template.call.cpp", + { + "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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()", + "end": "\\)", + "beginCaptures": { + "1": { + "patterns": [ + { + "include": "#scope_resolution_function_call_inner_generated" + } + ] + }, + "2": { + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp" + }, + "3": { + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] + }, + "4": { + }, + "5": { + "name": "entity.name.function.call.cpp" + }, + "6": { + "patterns": [ + { + "include": "#inline_comment" + } + ] + }, + "7": { + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" + }, + "8": { + "name": "comment.block.cpp" + }, + "9": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + }, + "10": { + "name": "meta.template.call.cpp", + "patterns": [ + { + "include": "#template_call_range_helper" + } + ] + }, + "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" + } + }, + "endCaptures": { + "0": { + "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" + } + }, "patterns": [ { - "include": "#template_call_range_helper" + "include": "#evaluation_context" } ] - }, - "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" - } - }, - "endCaptures": { - "0": { - "name": "punctuation.section.arguments.end.bracket.round.function.call.cpp" - } - }, - "patterns": [ - { - "include": "#evaluation_context" } ] }, @@ -4183,7 +4275,7 @@ "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "13": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -4515,7 +4607,7 @@ "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "6": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -4694,7 +4786,7 @@ "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", "beginCaptures": { "1": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -4993,7 +5085,7 @@ "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", "beginCaptures": { "1": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -5631,7 +5723,7 @@ "match": "(?<=protected|virtual|private|public|,|:)(?:\\s+)?(?!(?:(?:protected|private|public)|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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))", "captures": { "1": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -6175,7 +6267,7 @@ "name": "entity.name.function.preprocessor.cpp" }, "member_access": { - "match": "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", + "match": "(?:((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(\\b(?!uint_least32_t[^\\w]|uint_least16_t[^\\w]|uint_least64_t[^\\w]|int_least32_t[^\\w]|int_least64_t[^\\w]|uint_fast32_t[^\\w]|uint_fast64_t[^\\w]|uint_least8_t[^\\w]|uint_fast16_t[^\\w]|int_least16_t[^\\w]|int_fast16_t[^\\w]|int_least8_t[^\\w]|uint_fast8_t[^\\w]|int_fast64_t[^\\w]|int_fast32_t[^\\w]|int_fast8_t[^\\w]|suseconds_t[^\\w]|useconds_t[^\\w]|in_addr_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|uintmax_t[^\\w]|in_port_t[^\\w]|uintptr_t[^\\w]|blksize_t[^\\w]|uint32_t[^\\w]|uint64_t[^\\w]|u_quad_t[^\\w]|intmax_t[^\\w]|intmax_t[^\\w]|unsigned[^\\w]|blkcnt_t[^\\w]|uint16_t[^\\w]|intptr_t[^\\w]|swblk_t[^\\w]|wchar_t[^\\w]|u_short[^\\w]|qaddr_t[^\\w]|caddr_t[^\\w]|daddr_t[^\\w]|fixpt_t[^\\w]|nlink_t[^\\w]|segsz_t[^\\w]|clock_t[^\\w]|ssize_t[^\\w]|int16_t[^\\w]|int32_t[^\\w]|int64_t[^\\w]|uint8_t[^\\w]|int8_t[^\\w]|mode_t[^\\w]|quad_t[^\\w]|ushort[^\\w]|u_long[^\\w]|u_char[^\\w]|double[^\\w]|signed[^\\w]|time_t[^\\w]|size_t[^\\w]|key_t[^\\w]|div_t[^\\w]|ino_t[^\\w]|uid_t[^\\w]|gid_t[^\\w]|off_t[^\\w]|pid_t[^\\w]|float[^\\w]|dev_t[^\\w]|u_int[^\\w]|short[^\\w]|bool[^\\w]|id_t[^\\w]|uint[^\\w]|long[^\\w]|char[^\\w]|void[^\\w]|auto[^\\w]|id_t[^\\w]|int[^\\w])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())", "captures": { "1": { "patterns": [ @@ -6206,18 +6298,30 @@ "name": "variable.language.this.cpp" }, "4": { - "name": "variable.other.object.access.cpp" + "name": "variable.lower-case.cpp variable.other.object.access.$4.cpp" }, "5": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.access.$5.cpp" }, "6": { - "name": "punctuation.separator.pointer-access.cpp" + "name": "variable.camel-case.cpp variable.other.object.access.$6.cpp" }, "7": { + "name": "variable.upper-case.cpp variable.other.object.access.$7.cpp" + }, + "8": { + "name": "variable.other.unknown.$8.cpp" + }, + "9": { + "name": "punctuation.separator.dot-access.cpp" + }, + "10": { + "name": "punctuation.separator.pointer-access.cpp" + }, + "11": { "patterns": [ { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ @@ -6239,18 +6343,30 @@ "name": "variable.language.this.cpp" }, "6": { - "name": "variable.other.object.property.cpp" + "name": "variable.lower-case.cpp variable.other.object.property.cpp" }, "7": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.property.cpp" }, "8": { + "name": "variable.camel-case.cpp variable.other.object.property.cpp" + }, + "9": { + "name": "variable.upper-case.cpp variable.other.object.property.cpp" + }, + "10": { + "name": "variable.other.unknown.$10.cpp" + }, + "11": { + "name": "punctuation.separator.dot-access.cpp" + }, + "12": { "name": "punctuation.separator.pointer-access.cpp" } } }, { - "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", + "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ @@ -6272,12 +6388,24 @@ "name": "variable.language.this.cpp" }, "6": { - "name": "variable.other.object.access.cpp" + "name": "variable.lower-case.cpp variable.other.object.access.$6.cpp" }, "7": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.access.$7.cpp" }, "8": { + "name": "variable.camel-case.cpp variable.other.object.access.$8.cpp" + }, + "9": { + "name": "variable.upper-case.cpp variable.other.object.access.$9.cpp" + }, + "10": { + "name": "variable.other.unknown.$10.cpp" + }, + "11": { + "name": "punctuation.separator.dot-access.cpp" + }, + "12": { "name": "punctuation.separator.pointer-access.cpp" } } @@ -6290,7 +6418,7 @@ } ] }, - "8": { + "12": { "name": "variable.other.property.cpp" } } @@ -6341,7 +6469,7 @@ } }, "method_access": { - "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()", + "begin": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()", "end": "\\)", "beginCaptures": { "1": { @@ -6364,18 +6492,30 @@ "name": "variable.language.this.cpp" }, "6": { - "name": "variable.other.object.access.cpp" + "name": "variable.lower-case.cpp variable.other.object.access.$6.cpp" }, "7": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.access.$7.cpp" }, "8": { - "name": "punctuation.separator.pointer-access.cpp" + "name": "variable.camel-case.cpp variable.other.object.access.$8.cpp" }, "9": { + "name": "variable.upper-case.cpp variable.other.object.access.$9.cpp" + }, + "10": { + "name": "variable.other.unknown.$10.cpp" + }, + "11": { + "name": "punctuation.separator.dot-access.cpp" + }, + "12": { + "name": "punctuation.separator.pointer-access.cpp" + }, + "13": { "patterns": [ { - "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", + "match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ @@ -6397,18 +6537,30 @@ "name": "variable.language.this.cpp" }, "6": { - "name": "variable.other.object.property.cpp" + "name": "variable.lower-case.cpp variable.other.object.property.cpp" }, "7": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.property.cpp" }, "8": { + "name": "variable.camel-case.cpp variable.other.object.property.cpp" + }, + "9": { + "name": "variable.upper-case.cpp variable.other.object.property.cpp" + }, + "10": { + "name": "variable.other.unknown.$10.cpp" + }, + "11": { + "name": "punctuation.separator.dot-access.cpp" + }, + "12": { "name": "punctuation.separator.pointer-access.cpp" } } }, { - "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", + "match": "(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))", "captures": { "1": { "patterns": [ @@ -6430,12 +6582,24 @@ "name": "variable.language.this.cpp" }, "6": { - "name": "variable.other.object.access.cpp" + "name": "variable.lower-case.cpp variable.other.object.access.$6.cpp" }, "7": { - "name": "punctuation.separator.dot-access.cpp" + "name": "variable.snake-case.cpp variable.other.object.access.$7.cpp" }, "8": { + "name": "variable.camel-case.cpp variable.other.object.access.$8.cpp" + }, + "9": { + "name": "variable.upper-case.cpp variable.other.object.access.$9.cpp" + }, + "10": { + "name": "variable.other.unknown.$10.cpp" + }, + "11": { + "name": "punctuation.separator.dot-access.cpp" + }, + "12": { "name": "punctuation.separator.pointer-access.cpp" } } @@ -6448,10 +6612,10 @@ } ] }, - "10": { + "14": { "name": "entity.name.function.member.cpp" }, - "11": { + "15": { "name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp" } }, @@ -6759,7 +6923,7 @@ ] }, "normal_variable_assignment": { - "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))", + "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=)))", "end": "(?=;)", "beginCaptures": { "1": { @@ -6779,39 +6943,42 @@ "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "5": { + "name": "meta.assignment.cpp" + }, + "6": { "patterns": [ { "include": "#storage_specifiers" } ] }, - "6": { + "7": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "7": { + "8": { "name": "comment.block.cpp" }, - "8": { + "9": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "9": { + "10": { "patterns": [ { "include": "#inline_comment" } ] }, - "10": { + "11": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "11": { + "12": { "name": "comment.block.cpp" }, - "12": { + "13": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "13": { - "name": "meta.qualified_type.cpp", + "14": { + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -6848,7 +7015,7 @@ } ] }, - "14": { + "15": { "patterns": [ { "include": "#attributes_context" @@ -6858,39 +7025,39 @@ } ] }, - "15": { + "16": { "patterns": [ { "include": "#inline_comment" } ] }, - "16": { + "17": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "17": { + "18": { "name": "comment.block.cpp" }, - "18": { + "19": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "19": { + "20": { "patterns": [ { "include": "#inline_comment" } ] }, - "20": { + "21": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "21": { + "22": { "name": "comment.block.cpp" }, - "22": { + "23": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "23": { + "24": { "patterns": [ { "match": "::", @@ -6905,34 +7072,34 @@ } ] }, - "24": { + "25": { "patterns": [ { "include": "#template_call_range_helper" } ] }, - "25": { - }, "26": { + }, + "27": { "patterns": [ { "include": "#inline_comment" } ] }, - "27": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, "28": { - "name": "comment.block.cpp" + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "29": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "name": "comment.block.cpp" }, "30": { + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "31": { + }, + "32": { "patterns": [ { "match": "\\*", @@ -6966,85 +7133,98 @@ } ] }, - "32": { + "33": { "patterns": [ { "include": "#inline_comment" } ] }, - "33": { + "34": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "34": { + "35": { "name": "comment.block.cpp" }, - "35": { + "36": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "36": { + "37": { "patterns": [ { "include": "#inline_comment" } ] }, - "37": { + "38": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "38": { + "39": { "name": "comment.block.cpp" }, - "39": { + "40": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "40": { + "41": { "patterns": [ { "include": "#inline_comment" } ] }, - "41": { - "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" - }, "42": { - "name": "comment.block.cpp" + "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, "43": { - "name": "comment.block.cpp punctuation.definition.comment.end.cpp" + "name": "comment.block.cpp" }, "44": { - "name": "variable.other.assignment.cpp" + "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "45": { + "name": "variable.lower-case.cpp variable.other.assignment.cpp" + }, + "46": { + "name": "variable.snake-case.cpp variable.other.assignment.cpp" + }, + "47": { + "name": "variable.camel-case.cpp variable.other.assignment.cpp" + }, + "48": { + "name": "variable.upper-case.cpp variable.other.assignment.cpp" + }, + "49": { + "name": "variable.other.unknown.$49.cpp" + }, + "50": { "patterns": [ { "include": "#inline_comment" } ] }, - "46": { + "51": { "name": "comment.block.cpp punctuation.definition.comment.begin.cpp" }, - "47": { + "52": { "name": "comment.block.cpp" }, - "48": { + "53": { "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, - "49": { + "54": { "name": "keyword.operator.assignment.compound.cpp" }, - "50": { + "55": { "name": "keyword.operator.assignment.compound.bitwise.cpp" }, - "51": { + "56": { "name": "keyword.operator.assignment.cpp" } }, "endCaptures": { }, + "name": "meta.assignment.cpp", "patterns": [ { "include": "#normal_variable_assignment" @@ -7058,7 +7238,7 @@ ] }, "normal_variable_declaration": { - "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)", + "begin": "^((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:((?:(?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=))", + "match": "(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=))", "captures": { "1": { - "name": "variable.other.assignment.cpp" + "name": "variable.lower-case.cpp variable.other.assignment.cpp" }, "2": { - "name": "punctuation.definition.begin.bracket.square.array.type.cpp" + "name": "variable.snake-case.cpp variable.other.assignment.cpp" }, "3": { - "name": "punctuation.definition.end.bracket.square.array.type.cpp" + "name": "variable.camel-case.cpp variable.other.assignment.cpp" }, "4": { + "name": "variable.upper-case.cpp variable.other.assignment.cpp" + }, + "5": { + "name": "variable.other.unknown.$5.cpp" + }, + "6": { + "name": "punctuation.definition.begin.bracket.square.array.type.cpp" + }, + "7": { + "name": "punctuation.definition.end.bracket.square.array.type.cpp" + }, + "8": { "patterns": [ { "include": "#inline_comment" } ] }, - "5": { + "9": { "patterns": [ { "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", @@ -13323,13 +13531,13 @@ } ] }, - "6": { + "10": { "name": "keyword.operator.assignment.compound.cpp" }, - "7": { + "11": { "name": "keyword.operator.assignment.compound.bitwise.cpp" }, - "8": { + "12": { "name": "keyword.operator.assignment.cpp" } } @@ -13338,7 +13546,7 @@ "match": "(?!class|struct|union|enum|explicit|new|delete|operator|template|throw|decltype|typename|override|final)\\b(\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(?=((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?", "captures": { "1": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -14594,7 +14802,7 @@ "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "5": { - "name": "keyword.other.static_assert.cpp" + "name": "keyword.other.static-assert.cpp" }, "6": { "patterns": [ @@ -14613,12 +14821,12 @@ "name": "comment.block.cpp punctuation.definition.comment.end.cpp" }, "10": { - "name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp" + "name": "punctuation.section.arguments.begin.bracket.round.static-assert.cpp" } }, "endCaptures": { "0": { - "name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp" + "name": "punctuation.section.arguments.end.bracket.round.static-assert.cpp" } }, "patterns": [ @@ -14632,7 +14840,7 @@ }, "endCaptures": { }, - "name": "meta.static_assert.message.cpp", + "name": "meta.static-assert.message.cpp", "patterns": [ { "include": "#string_context" @@ -16565,7 +16773,7 @@ ] }, "8": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -17251,7 +17459,7 @@ "end": "(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()", "beginCaptures": { "1": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -18357,7 +18565,7 @@ ] }, "6": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -19000,10 +19208,22 @@ } }, "unknown_variable": { - "match": "((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))", + "match": "(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=))", "captures": { "1": { "patterns": [ @@ -19113,7 +19333,7 @@ ] }, "5": { - "name": "meta.qualified_type.cpp", + "name": "meta.qualified-type.cpp", "patterns": [ { "match": "::", @@ -19232,8 +19452,6 @@ } ] }, - "13": { - }, "14": { "patterns": [ { @@ -19259,8 +19477,6 @@ } ] }, - "16": { - }, "17": { "patterns": [ { @@ -19371,16 +19587,28 @@ ] }, "24": { - "name": "variable.other.assignment.cpp" + "name": "variable.lower-case.cpp variable.other.assignment.cpp" }, "25": { + "name": "variable.snake-case.cpp variable.other.assignment.cpp" + }, + "26": { + "name": "variable.camel-case.cpp variable.other.assignment.cpp" + }, + "27": { + "name": "variable.upper-case.cpp variable.other.assignment.cpp" + }, + "28": { + "name": "variable.other.unknown.$28.cpp" + }, + "29": { "patterns": [ { "include": "#inline_comment" } ] }, - "26": { + "30": { "patterns": [ { "match": "\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+", @@ -19398,19 +19626,20 @@ } ] }, - "27": { + "31": { "name": "keyword.operator.assignment.compound.cpp" }, - "28": { + "32": { "name": "keyword.operator.assignment.compound.bitwise.cpp" }, - "29": { + "33": { "name": "keyword.operator.assignment.cpp" } - } + }, + "name": "meta.assignment.cpp" }, "variable_declare": { - "match": "(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=;|,)", + "match": "(?:((?:(?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?' scopes: @@ -112,6 +112,8 @@ scopes: - constant.character.escape.line-continuation - source: static + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -119,18 +121,25 @@ - storage.modifier.specifier.const - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: isPoint + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -175,6 +184,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: T scopes: + - variable.upper-case - variable.other.unknown.T - source: ) scopes: @@ -218,7 +228,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -231,7 +241,7 @@ - storage.type.modifier.access.public - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -242,7 +252,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: \ scopes: - constant.character.escape.line-continuation @@ -292,6 +302,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: T scopes: + - variable.upper-case - variable.other.unknown.T - source: ) scopes: @@ -335,7 +346,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -348,7 +359,7 @@ - storage.type.modifier.access.public - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -359,7 +370,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: \ scopes: - constant.character.escape.line-continuation @@ -428,7 +439,7 @@ - storage.modifier - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -455,7 +466,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -469,7 +480,7 @@ - punctuation.separator.scope-resolution.template.call - source: isPoint scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -485,7 +496,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -500,7 +511,7 @@ - storage.modifier - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -527,7 +538,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: U scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -541,7 +552,7 @@ - punctuation.separator.scope-resolution.template.call - source: isPoint scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -558,7 +569,7 @@ - entity.name.type scopesEnd: - meta.template.definition - - meta.qualified_type + - meta.qualified-type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.definition @@ -632,6 +643,7 @@ - source: static scopesBegin: - meta.body.struct + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -639,18 +651,25 @@ - storage.modifier.specifier.const - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: isPoint + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -699,6 +718,7 @@ - source: static scopesBegin: - meta.body.struct + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -706,18 +726,25 @@ - storage.modifier.specifier.const - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: value + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -766,6 +793,7 @@ - source: static scopesBegin: - meta.body.struct + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -773,18 +801,25 @@ - storage.modifier.specifier.const - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: value + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#032.spec.yaml b/language_examples/#032.spec.yaml index 3fef8f73..ee53f3a7 100644 --- a/language_examples/#032.spec.yaml +++ b/language_examples/#032.spec.yaml @@ -10,6 +10,7 @@ - keyword.operator.arithmetic - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: diff --git a/language_examples/#033.spec.yaml b/language_examples/#033.spec.yaml index 4decf8a7..3493576c 100644 --- a/language_examples/#033.spec.yaml +++ b/language_examples/#033.spec.yaml @@ -1,17 +1,20 @@ - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison - source: string scopes: + - variable.lower-case - variable.other.unknown.string - source: '>>' scopes: diff --git a/language_examples/#034.spec.yaml b/language_examples/#034.spec.yaml index 7eb97320..eed076ae 100644 --- a/language_examples/#034.spec.yaml +++ b/language_examples/#034.spec.yaml @@ -43,6 +43,7 @@ - punctuation.section.parens.begin.bracket.round - source: addr scopes: + - variable.lower-case - variable.other.unknown.addr - source: ) scopes: @@ -54,12 +55,14 @@ - keyword.operator.comparison - source: UPGRADE_BASE_ADDR scopes: + - variable.upper-case - variable.other.unknown.UPGRADE_BASE_ADDR - source: + scopes: - keyword.operator.arithmetic - source: UPGRADE_SPACE_SIZE scopes: + - variable.upper-case - variable.other.unknown.UPGRADE_SPACE_SIZE - source: ) scopes: diff --git a/language_examples/#035.spec.yaml b/language_examples/#035.spec.yaml index c972e03f..bb41c767 100644 --- a/language_examples/#035.spec.yaml +++ b/language_examples/#035.spec.yaml @@ -75,6 +75,7 @@ - punctuation.separator.scope-resolution.template.definition - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopesBegin: @@ -100,7 +101,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -167,7 +168,7 @@ - meta.body.struct - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator diff --git a/language_examples/#036.spec.yaml b/language_examples/#036.spec.yaml index 2084089c..52f21421 100644 --- a/language_examples/#036.spec.yaml +++ b/language_examples/#036.spec.yaml @@ -1,5 +1,6 @@ - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopes: diff --git a/language_examples/#043.spec.yaml b/language_examples/#043.spec.yaml index 91c7a192..0312603e 100644 --- a/language_examples/#043.spec.yaml +++ b/language_examples/#043.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main diff --git a/language_examples/#047.spec.yaml b/language_examples/#047.spec.yaml index 9c2564cf..0216593f 100644 --- a/language_examples/#047.spec.yaml +++ b/language_examples/#047.spec.yaml @@ -14,7 +14,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -36,17 +36,22 @@ - source: enum scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - storage.type.enum - source: bar scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: b scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#050.spec.yaml b/language_examples/#050.spec.yaml index eed0c267..c1de4cb5 100644 --- a/language_examples/#050.spec.yaml +++ b/language_examples/#050.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -35,6 +35,7 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: test scopes: + - variable.lower-case - variable.other.unknown.test - source: ) scopes: diff --git a/language_examples/#051.spec.yaml b/language_examples/#051.spec.yaml index b97b4a82..67a775b2 100644 --- a/language_examples/#051.spec.yaml +++ b/language_examples/#051.spec.yaml @@ -63,19 +63,23 @@ - punctuation.section.arguments.end.bracket.round.decltype - source: B scopes: + - variable.upper-case - variable.other.unknown.B - source: '=' scopes: - keyword.operator.assignment - source: A scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#053.spec.yaml b/language_examples/#053.spec.yaml index 7f18df14..6126363e 100644 --- a/language_examples/#053.spec.yaml +++ b/language_examples/#053.spec.yaml @@ -42,7 +42,7 @@ - storage.type.modifier.access.public - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: diff --git a/language_examples/#055.spec.yaml b/language_examples/#055.spec.yaml index c0c7a158..3bce7ad1 100644 --- a/language_examples/#055.spec.yaml +++ b/language_examples/#055.spec.yaml @@ -38,7 +38,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/#058.spec.yaml b/language_examples/#058.spec.yaml index 599a225e..3871869e 100644 --- a/language_examples/#058.spec.yaml +++ b/language_examples/#058.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: GetThing scopesBegin: diff --git a/language_examples/#059.spec.yaml b/language_examples/#059.spec.yaml index a171a8c1..c5dea0aa 100644 --- a/language_examples/#059.spec.yaml +++ b/language_examples/#059.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -24,16 +24,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: postWakeup + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: wpi scopes: - entity.name.scope-resolution @@ -75,33 +81,40 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: loop scopes: + - variable.lower-case - variable.other.unknown.loop - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: m_postMessageWakeup scopes: + - variable.snake-case - variable.other.unknown.m_postMessageWakeup - source: '=' scopes: - keyword.operator.assignment - source: postWakeup scopes: + - variable.camel-case - variable.other.unknown.postWakeup - source: ; scopes: - punctuation.terminator.statement - source: postWakeup scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.postWakeup - source: '->' scopes: - punctuation.separator.pointer-access - source: wakeup scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -133,13 +146,15 @@ - storage.type.built-in.primitive - source: pipe scopes: + - variable.lower-case - variable.other.unknown.pipe - source: '=' scopes: - keyword.operator.assignment - source: m_pipe scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.m_pipe - source: . scopes: - punctuation.separator.dot-access diff --git a/language_examples/#060.spec.yaml b/language_examples/#060.spec.yaml index a9c92dc2..4e364d29 100644 --- a/language_examples/#060.spec.yaml +++ b/language_examples/#060.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -25,6 +25,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.stream - source: '<<' scopes: @@ -50,6 +51,7 @@ - punctuation.section.parens.begin.bracket.round - source: val scopes: + - variable.lower-case - variable.other.unknown.val - source: '>>' scopes: @@ -86,6 +88,7 @@ - punctuation.section.parens.begin.bracket.round - source: val scopes: + - variable.lower-case - variable.other.unknown.val - source: '>>' scopes: @@ -122,6 +125,7 @@ - punctuation.section.parens.begin.bracket.round - source: val scopes: + - variable.lower-case - variable.other.unknown.val - source: '>>' scopes: @@ -158,6 +162,7 @@ - punctuation.section.parens.begin.bracket.round - source: val scopes: + - variable.lower-case - variable.other.unknown.val - source: '>>' scopes: @@ -194,6 +199,7 @@ - punctuation.section.parens.begin.bracket.round - source: val scopes: + - variable.lower-case - variable.other.unknown.val - source: '>>' scopes: @@ -230,6 +236,7 @@ - punctuation.section.parens.begin.bracket.round - source: val scopes: + - variable.lower-case - variable.other.unknown.val - source: '>>' scopes: @@ -266,6 +273,7 @@ - punctuation.section.parens.begin.bracket.round - source: val scopes: + - variable.lower-case - variable.other.unknown.val - source: '>>' scopes: @@ -302,6 +310,7 @@ - punctuation.section.parens.begin.bracket.round - source: val scopes: + - variable.lower-case - variable.other.unknown.val - source: ) scopes: diff --git a/language_examples/#062.spec.yaml b/language_examples/#062.spec.yaml index 496870eb..3a6181a7 100644 --- a/language_examples/#062.spec.yaml +++ b/language_examples/#062.spec.yaml @@ -3,6 +3,7 @@ - keyword.other.typedef - source: foo scopes: + - variable.lower-case - variable.other.unknown.foo - source: int scopes: diff --git a/language_examples/#064.spec.yaml b/language_examples/#064.spec.yaml index 75456855..13225efe 100644 --- a/language_examples/#064.spec.yaml +++ b/language_examples/#064.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -24,19 +24,25 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -46,23 +52,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -71,23 +86,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -98,23 +122,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -124,23 +157,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -159,24 +201,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -194,24 +244,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -231,24 +289,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -267,24 +333,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -303,6 +377,7 @@ - punctuation.separator.delimiter.comma - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ) scopes: @@ -313,23 +388,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -347,6 +431,7 @@ - punctuation.separator.delimiter.comma - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ) scopes: @@ -357,23 +442,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -392,6 +486,7 @@ - punctuation.separator.delimiter.comma - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ) scopes: @@ -403,23 +498,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -437,6 +541,7 @@ - punctuation.separator.delimiter.comma - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ) scopes: @@ -448,23 +553,32 @@ scopes: - storage.type.primitive - storage.type.built-in.primitive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -483,6 +597,7 @@ - punctuation.separator.delimiter.comma - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ) scopes: @@ -498,24 +613,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -533,6 +656,7 @@ - punctuation.separator.delimiter.comma - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ) scopes: @@ -548,24 +672,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ' ::' - source: new scopes: @@ -584,6 +716,7 @@ - punctuation.separator.delimiter.comma - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ) scopes: @@ -604,24 +737,32 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -639,6 +780,7 @@ - punctuation.separator.delimiter.comma - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ) scopes: @@ -659,6 +801,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -670,6 +813,7 @@ - keyword.operator.delete - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ; scopes: @@ -680,6 +824,7 @@ - keyword.operator.delete - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ; scopes: @@ -697,6 +842,7 @@ - keyword.operator.wordlike - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ; scopes: @@ -713,6 +859,7 @@ - keyword.operator.wordlike - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ; scopes: @@ -729,6 +876,7 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -749,6 +897,7 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -776,6 +925,7 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -802,6 +952,7 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -823,12 +974,14 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -849,12 +1002,14 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -882,12 +1037,14 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -914,12 +1071,14 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: diff --git a/language_examples/#071.spec.yaml b/language_examples/#071.spec.yaml index 9e16cdc2..c111d016 100644 --- a/language_examples/#071.spec.yaml +++ b/language_examples/#071.spec.yaml @@ -14,44 +14,62 @@ - source: int scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: b scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: usertype + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: user_value scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: usertype scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: user_value scopes: - - entity.name.function.call.constructor + - variable.snake-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -82,6 +100,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.assignment - source: '[' scopes: @@ -122,7 +141,8 @@ - punctuation.terminator.statement - source: scoped scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -139,23 +159,28 @@ - punctuation.section.angle-brackets.begin.template.call - source: type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: value scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: compound scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: < @@ -169,7 +194,7 @@ - storage.modifier - source: templated scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -180,7 +205,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - keyword.operator.arithmetic @@ -198,10 +223,14 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: value scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -221,6 +250,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ; scopes: @@ -231,26 +261,30 @@ - storage.type.built-in.primitive - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ; scopes: - punctuation.terminator.statement - source: usertype scopes: + - variable.lower-case - variable.other.unknown.usertype - source: user_value scopes: + - variable.snake-case - variable.other.unknown.user_value - source: ; scopes: - punctuation.terminator.statement - source: usertype scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: user_value scopes: - - entity.name.function.call.constructor + - variable.snake-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -284,18 +318,21 @@ - punctuation.separator.scope-resolution - source: templated scopes: + - variable.lower-case - variable.other.unknown.templated - source: < scopes: - keyword.operator.comparison - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '>' scopes: - keyword.operator.comparison - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ; scopes: @@ -314,7 +351,7 @@ - storage.modifier - source: templated scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -325,7 +362,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - keyword.operator.arithmetic @@ -340,11 +377,15 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: type + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.type - source: value scopes: - variable.other.unknown.value + scopesEnd: + - variable.lower-case - source: ; scopes: - punctuation.terminator.statement @@ -354,6 +395,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.assignment - source: '[' scopes: @@ -410,9 +452,11 @@ - punctuation.separator.delimiter.comma - source: usertype scopes: + - variable.lower-case - variable.other.unknown.usertype - source: user_value scopes: + - variable.snake-case - variable.other.unknown.user_value - source: ) scopes: @@ -424,7 +468,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -446,44 +490,62 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: b scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: usertype + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: user_value scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: usertype scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: user_value scopes: - - entity.name.function.call.constructor + - variable.snake-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -510,7 +572,8 @@ - punctuation.terminator.statement - source: scoped scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -527,23 +590,28 @@ - punctuation.section.angle-brackets.begin.template.call - source: type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: value scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: compound scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: < @@ -557,7 +625,7 @@ - storage.modifier - source: templated scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -568,7 +636,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - keyword.operator.arithmetic @@ -586,10 +654,14 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: value scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -599,6 +671,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.assignment - source: '[' scopes: @@ -655,9 +728,11 @@ - punctuation.separator.delimiter.comma - source: usertype scopes: + - variable.lower-case - variable.other.unknown.usertype - source: user_value scopes: + - variable.snake-case - variable.other.unknown.user_value - source: ) scopes: diff --git a/language_examples/#072.spec.yaml b/language_examples/#072.spec.yaml index f6da471a..a8366b9f 100644 --- a/language_examples/#072.spec.yaml +++ b/language_examples/#072.spec.yaml @@ -16,7 +16,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: abc @@ -60,7 +60,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: abc @@ -104,7 +104,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: abc @@ -148,7 +148,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: abc diff --git a/language_examples/#076.spec.yaml b/language_examples/#076.spec.yaml index acaf757b..28c56e91 100644 --- a/language_examples/#076.spec.yaml +++ b/language_examples/#076.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: __cdecl diff --git a/language_examples/#082.spec.yaml b/language_examples/#082.spec.yaml index 82a536fc..a09158d0 100644 --- a/language_examples/#082.spec.yaml +++ b/language_examples/#082.spec.yaml @@ -15,21 +15,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: pointerT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: hashT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: allocatorT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -59,7 +59,7 @@ scopesBegin: - meta.body.struct - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type - support.other.attribute scopes: - punctuation.section.attribute.begin @@ -76,7 +76,7 @@ - storage.type.primitive - storage.type.built-in.primitive scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: operator scopesBegin: - meta.head.function.definition.special.operator-overload @@ -227,7 +227,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: domain_error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -270,7 +270,7 @@ - storage.modifier - source: allocatorT scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -282,7 +282,7 @@ - entity.name.type scopesEnd: - meta.arguments.operator.typeid - - meta.qualified_type + - meta.qualified-type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -375,21 +375,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: pointerT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: hashT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: allocatorT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -419,7 +419,7 @@ scopesBegin: - meta.body.struct - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type - support.other.attribute scopes: - punctuation.section.attribute.begin @@ -436,7 +436,7 @@ - storage.type.primitive - storage.type.built-in.primitive scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: operator scopesBegin: - meta.head.function.definition.special.operator-overload @@ -587,7 +587,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: domain_error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -630,7 +630,7 @@ - storage.modifier - source: allocatorT scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -642,7 +642,7 @@ - entity.name.type scopesEnd: - meta.arguments.operator.typeid - - meta.qualified_type + - meta.qualified-type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid diff --git a/language_examples/#083.spec.yaml b/language_examples/#083.spec.yaml index 0a32a6b6..6128cd35 100644 --- a/language_examples/#083.spec.yaml +++ b/language_examples/#083.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ABC diff --git a/language_examples/#085.spec.yaml b/language_examples/#085.spec.yaml index 304583dc..73033057 100644 --- a/language_examples/#085.spec.yaml +++ b/language_examples/#085.spec.yaml @@ -33,7 +33,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: inBlock diff --git a/language_examples/#087.spec.yaml b/language_examples/#087.spec.yaml index 2e901b79..97577bb4 100644 --- a/language_examples/#087.spec.yaml +++ b/language_examples/#087.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -34,7 +34,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -47,7 +47,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cn scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cn - source: . scopes: - punctuation.separator.dot-access @@ -59,6 +60,7 @@ - punctuation.separator.delimiter.comma - source: common scopes: + - variable.lower-case - variable.other.unknown.common - source: ',' scopes: @@ -98,7 +100,7 @@ - punctuation.separator.scope-resolution.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -111,7 +113,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cn scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cn - source: . scopes: - punctuation.separator.dot-access @@ -123,6 +126,7 @@ - punctuation.separator.delimiter.comma - source: common scopes: + - variable.lower-case - variable.other.unknown.common - source: ',' scopes: diff --git a/language_examples/#088.spec.yaml b/language_examples/#088.spec.yaml index d04fad8c..1a6c9343 100644 --- a/language_examples/#088.spec.yaml +++ b/language_examples/#088.spec.yaml @@ -20,9 +20,11 @@ - entity.name.function.preprocessor - source: cbuffer scopes: + - variable.lower-case - variable.other.unknown.cbuffer - source: testCB scopes: + - variable.camel-case - variable.other.unknown.testCB - source: '#' scopesBegin: @@ -66,13 +68,17 @@ - source: float scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Brightness scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.Brightness + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#099.spec.yaml b/language_examples/#099.spec.yaml index a1586516..6f1f46b9 100644 --- a/language_examples/#099.spec.yaml +++ b/language_examples/#099.spec.yaml @@ -4,6 +4,7 @@ - support.type.built-in.posix-reserved.pthread - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ; scopes: diff --git a/language_examples/#100.spec.yaml b/language_examples/#100.spec.yaml index 700e6592..1ae32892 100644 --- a/language_examples/#100.spec.yaml +++ b/language_examples/#100.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function diff --git a/language_examples/#106.spec.yaml b/language_examples/#106.spec.yaml index 067dc269..dfa116c5 100644 --- a/language_examples/#106.spec.yaml +++ b/language_examples/#106.spec.yaml @@ -49,7 +49,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: check scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -65,7 +65,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: diff --git a/language_examples/#110.spec.yaml b/language_examples/#110.spec.yaml index 2a6e8e53..5bd294a3 100644 --- a/language_examples/#110.spec.yaml +++ b/language_examples/#110.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function diff --git a/language_examples/#113.spec.yaml b/language_examples/#113.spec.yaml index 6e8e6a6e..8e6cc65a 100644 --- a/language_examples/#113.spec.yaml +++ b/language_examples/#113.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -33,7 +33,8 @@ - punctuation.section.parens.begin.bracket.round - source: files scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.files - source: . scopes: - punctuation.separator.dot-access @@ -75,7 +76,7 @@ - punctuation.separator.scope-resolution.template.call - source: runtime_error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: diff --git a/language_examples/#121.spec.yaml b/language_examples/#121.spec.yaml index a8540239..c71aa3df 100644 --- a/language_examples/#121.spec.yaml +++ b/language_examples/#121.spec.yaml @@ -28,7 +28,7 @@ - storage.type.modifier.access.public - source: ParentClass scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -77,7 +77,7 @@ - storage.type.modifier.access.public - source: ParentClass scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -119,7 +119,7 @@ - storage.type.modifier.access.public - source: ParentClass scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -163,7 +163,7 @@ - storage.type.modifier.access.public - source: ParentClass scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: diff --git a/language_examples/#123.spec.yaml b/language_examples/#123.spec.yaml index 78f861d6..0a15869c 100644 --- a/language_examples/#123.spec.yaml +++ b/language_examples/#123.spec.yaml @@ -4,6 +4,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -29,6 +30,7 @@ - keyword.operator.arithmetic - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: '=' scopes: diff --git a/language_examples/#128.spec.yaml b/language_examples/#128.spec.yaml index f04670d0..1d554dc8 100644 --- a/language_examples/#128.spec.yaml +++ b/language_examples/#128.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -24,6 +24,7 @@ - punctuation.terminator.statement - source: entries scopes: + - variable.lower-case - variable.other.unknown.entries - source: '=' scopes: @@ -34,6 +35,7 @@ - keyword.operator.new - source: symbolTableEntry scopes: + - variable.camel-case - variable.other.unknown.symbolTableEntry - source: '*' scopes: @@ -45,6 +47,7 @@ - punctuation.definition.begin.bracket.square - source: entriesCount scopes: + - variable.camel-case - variable.other.unknown.entriesCount - source: ']' scopes: @@ -58,7 +61,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar diff --git a/language_examples/#129.spec.yaml b/language_examples/#129.spec.yaml index 559183f7..db189be8 100644 --- a/language_examples/#129.spec.yaml +++ b/language_examples/#129.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -64,6 +64,7 @@ - punctuation.section.parens.begin.bracket.round - source: fooptr scopes: + - variable.lower-case - variable.other.unknown.fooptr - source: ) scopes: @@ -87,6 +88,7 @@ - punctuation.section.parens.begin.bracket.round - source: fooptr scopes: + - variable.lower-case - variable.other.unknown.fooptr - source: ) scopes: diff --git a/language_examples/#130.spec.yaml b/language_examples/#130.spec.yaml index 732964a4..94ff1f46 100644 --- a/language_examples/#130.spec.yaml +++ b/language_examples/#130.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -25,12 +25,14 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access - source: b scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -49,12 +51,14 @@ - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: . scopes: - punctuation.separator.dot-access - source: b scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: diff --git a/language_examples/#133.spec.yaml b/language_examples/#133.spec.yaml index effed1bc..4d387bb5 100644 --- a/language_examples/#133.spec.yaml +++ b/language_examples/#133.spec.yaml @@ -11,6 +11,7 @@ - storage.type.built-in - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: ; scopes: diff --git a/language_examples/#134.spec.yaml b/language_examples/#134.spec.yaml index 662bf584..8f71f3f4 100644 --- a/language_examples/#134.spec.yaml +++ b/language_examples/#134.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -26,7 +26,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -55,7 +55,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -91,7 +91,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -107,7 +107,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -144,7 +144,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -160,7 +160,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -200,7 +200,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -222,6 +222,7 @@ - keyword.operator.assignment - source: value scopes: + - variable.lower-case - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters @@ -239,7 +240,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -264,6 +265,7 @@ - keyword.operator.assignment - source: value scopes: + - variable.lower-case - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters @@ -281,7 +283,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -297,7 +299,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -323,6 +325,7 @@ - keyword.operator.assignment - source: value scopes: + - variable.lower-case - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters @@ -340,7 +343,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar @@ -356,7 +359,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -385,6 +388,7 @@ - keyword.operator.assignment - source: value scopes: + - variable.lower-case - variable.other.unknown.value scopesEnd: - meta.function.definition.parameters diff --git a/language_examples/#136.spec.yaml b/language_examples/#136.spec.yaml index f4442373..fd20371b 100644 --- a/language_examples/#136.spec.yaml +++ b/language_examples/#136.spec.yaml @@ -22,7 +22,7 @@ - punctuation.definition.parameters.end.preprocessor - source: _ts scopes: - - variable.other.object.access + - variable.other.unknown._ts - source: '->' scopes: - punctuation.separator.pointer-access @@ -34,6 +34,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ) scopes: diff --git a/language_examples/#141.spec.yaml b/language_examples/#141.spec.yaml index e6d25e68..db0f5434 100644 --- a/language_examples/#141.spec.yaml +++ b/language_examples/#141.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -32,6 +32,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -60,12 +61,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -82,6 +85,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: @@ -95,6 +99,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -107,12 +112,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -129,6 +136,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: diff --git a/language_examples/#158.spec.yaml b/language_examples/#158.spec.yaml index 45048561..1607e3d7 100644 --- a/language_examples/#158.spec.yaml +++ b/language_examples/#158.spec.yaml @@ -36,7 +36,7 @@ - meta.body.namespace - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: failedToLoadCriticalData diff --git a/language_examples/#166.spec.yaml b/language_examples/#166.spec.yaml index a7abfec5..911bf551 100644 --- a/language_examples/#166.spec.yaml +++ b/language_examples/#166.spec.yaml @@ -20,7 +20,7 @@ - storage.type.modifier.virtual - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -31,7 +31,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.block.begin.bracket.curly.class @@ -77,7 +77,7 @@ - storage.type.modifier.access.public - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -88,7 +88,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.block.begin.bracket.curly.class diff --git a/language_examples/#186.spec.yaml b/language_examples/#186.spec.yaml index b9f0deb7..768eca10 100644 --- a/language_examples/#186.spec.yaml +++ b/language_examples/#186.spec.yaml @@ -7,12 +7,14 @@ - punctuation.separator.scope-resolution - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison - source: pair scopes: + - variable.lower-case - variable.other.unknown.pair - source: < scopes: @@ -36,6 +38,7 @@ - keyword.operator.arithmetic - source: g scopes: + - variable.lower-case - variable.other.unknown.g - source: '=' scopes: @@ -53,12 +56,14 @@ - punctuation.separator.scope-resolution - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopes: - keyword.operator.comparison - source: pair scopes: + - variable.lower-case - variable.other.unknown.pair - source: < scopes: @@ -84,6 +89,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: diff --git a/language_examples/#188.spec.yaml b/language_examples/#188.spec.yaml index e26edc99..47dc9acb 100644 --- a/language_examples/#188.spec.yaml +++ b/language_examples/#188.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -50,7 +50,8 @@ - punctuation.section.parens.begin.bracket.round - source: audio_spec scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.audio_spec - source: . scopes: - punctuation.separator.dot-access @@ -86,6 +87,7 @@ - punctuation.section.parens.begin.bracket.round - source: tgt_fps scopes: + - variable.snake-case - variable.other.unknown.tgt_fps - source: ) scopes: diff --git a/language_examples/#198.spec.yaml b/language_examples/#198.spec.yaml index 52ad6239..e8ef5f81 100644 --- a/language_examples/#198.spec.yaml +++ b/language_examples/#198.spec.yaml @@ -27,11 +27,15 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: string + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.string - source: s scopes: - variable.other.unknown.s + scopesEnd: + - variable.lower-case - source: '=' scopes: - keyword.operator.assignment @@ -52,7 +56,7 @@ - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -63,7 +67,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: s scopesBegin: - meta.head.function.definition @@ -97,7 +101,7 @@ - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -108,7 +112,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: s scopesBegin: - meta.head.function.definition diff --git a/language_examples/#203.spec.yaml b/language_examples/#203.spec.yaml index 7aaf76f8..baa19a8f 100644 --- a/language_examples/#203.spec.yaml +++ b/language_examples/#203.spec.yaml @@ -10,7 +10,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: fun diff --git a/language_examples/#204.spec.yaml b/language_examples/#204.spec.yaml index 81b85f49..0bb32266 100644 --- a/language_examples/#204.spec.yaml +++ b/language_examples/#204.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: fun @@ -39,7 +39,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -61,30 +61,38 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: - keyword.operator.assignment - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: '*' scopes: diff --git a/language_examples/#207.spec.yaml b/language_examples/#207.spec.yaml index 49249a8b..4147cf07 100644 --- a/language_examples/#207.spec.yaml +++ b/language_examples/#207.spec.yaml @@ -191,7 +191,7 @@ - source: '::' scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -206,7 +206,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -274,7 +274,7 @@ - source: '::' scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -289,7 +289,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -357,7 +357,7 @@ - source: '::' scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -372,7 +372,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -443,7 +443,7 @@ - source: '::' scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -458,7 +458,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -530,7 +530,7 @@ - storage.type.template - source: '::' scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -545,7 +545,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -620,7 +620,7 @@ - storage.type.template - source: '::' scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -635,7 +635,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -710,7 +710,7 @@ - storage.type.template - source: '::' scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -725,7 +725,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -790,7 +790,7 @@ - storage.type.template - source: '::' scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -805,7 +805,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference diff --git a/language_examples/#210.spec.yaml b/language_examples/#210.spec.yaml index 8375e9ab..882f7c21 100644 --- a/language_examples/#210.spec.yaml +++ b/language_examples/#210.spec.yaml @@ -11,7 +11,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: std_debug_dump @@ -77,16 +77,22 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: succ + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: write_log scopes: - entity.name.function.call @@ -105,6 +111,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#218.spec.yaml b/language_examples/#218.spec.yaml index 0564d987..3c63a82e 100644 --- a/language_examples/#218.spec.yaml +++ b/language_examples/#218.spec.yaml @@ -5,7 +5,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a @@ -115,12 +115,17 @@ - source: a scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: a scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -132,54 +137,63 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -189,7 +203,8 @@ - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -204,6 +219,7 @@ - keyword.operator.bitwise - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -223,7 +239,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a @@ -234,6 +250,7 @@ - punctuation.separator.colon.range-based - source: a scopes: + - variable.lower-case - variable.other.unknown.a scopesEnd: - meta.parens.control.for @@ -248,51 +265,71 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: . scopes: - punctuation.separator.dot-access - source: a scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: . scopes: - punctuation.separator.dot-access - source: a scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -306,12 +343,14 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '&&' scopes: - keyword.operator.logical - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -336,6 +375,7 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -355,6 +395,7 @@ - keyword.control.case - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ':' scopes: @@ -363,7 +404,8 @@ - meta.conditional.case - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -375,7 +417,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -407,6 +450,7 @@ - keyword.control.case - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ':' scopes: @@ -415,7 +459,8 @@ - meta.conditional.case - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -427,7 +472,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -459,6 +505,7 @@ - keyword.control.case - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ':' scopes: @@ -467,7 +514,8 @@ - meta.conditional.case - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -479,7 +527,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -511,6 +560,7 @@ - keyword.control.case - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ':' scopes: @@ -519,7 +569,8 @@ - meta.conditional.case - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -531,7 +582,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -575,54 +627,63 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -645,7 +706,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a @@ -706,34 +767,49 @@ - source: a scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: a scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: a + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -769,7 +845,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -790,7 +867,8 @@ - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -802,6 +880,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -811,7 +890,8 @@ - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -823,6 +903,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -838,30 +919,35 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -871,7 +957,8 @@ - punctuation.terminator.statement - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -886,6 +973,7 @@ - keyword.operator.bitwise - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -905,7 +993,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a @@ -916,6 +1004,7 @@ - punctuation.separator.colon.range-based - source: a scopes: + - variable.lower-case - variable.other.unknown.a scopesEnd: - meta.parens.control.for @@ -937,7 +1026,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -955,18 +1045,21 @@ - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: diff --git a/language_examples/#224.spec.yaml b/language_examples/#224.spec.yaml index 37f24289..ea347bda 100644 --- a/language_examples/#224.spec.yaml +++ b/language_examples/#224.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -39,7 +39,7 @@ - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -67,6 +67,7 @@ - meta.binding - source: c scopes: + - variable.lower-case - variable.other.unknown.c scopesEnd: - meta.parens.control.for @@ -77,7 +78,8 @@ - meta.parens - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -89,6 +91,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: bug scopes: + - variable.lower-case - variable.other.unknown.bug - source: ) scopes: @@ -120,7 +123,7 @@ - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '[' @@ -145,6 +148,7 @@ - meta.binding - source: c scopes: + - variable.lower-case - variable.other.unknown.c scopesEnd: - meta.parens.control.for @@ -155,7 +159,8 @@ - meta.parens - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: '->' scopes: - punctuation.separator.pointer-access @@ -167,6 +172,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: bug scopes: + - variable.lower-case - variable.other.unknown.bug - source: ) scopes: diff --git a/language_examples/#230.spec.yaml b/language_examples/#230.spec.yaml index 8da75cb5..42243c45 100644 --- a/language_examples/#230.spec.yaml +++ b/language_examples/#230.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -24,14 +24,15 @@ - source: class scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - storage.type.class - source: var scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopesBegin: - storage.modifier.pointer @@ -39,11 +40,16 @@ scopesEnd: - storage.modifier.pointer - source: thing + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -75,6 +81,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -88,14 +96,15 @@ - comment.line.double-slash - source: struct scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - storage.type.struct - source: var scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopesBegin: - storage.modifier.pointer @@ -103,11 +112,16 @@ scopesEnd: - storage.modifier.pointer - source: thing + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -139,6 +153,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -152,14 +168,15 @@ - comment.line.double-slash - source: enum scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - storage.type.enum - source: var scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopesBegin: - storage.modifier.pointer @@ -167,11 +184,16 @@ scopesEnd: - storage.modifier.pointer - source: thing + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -203,6 +225,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -216,14 +240,15 @@ - comment.line.double-slash - source: union scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - storage.type.union - source: var scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopesBegin: - storage.modifier.pointer @@ -231,11 +256,16 @@ scopesEnd: - storage.modifier.pointer - source: thing + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -267,6 +297,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#235.spec.yaml b/language_examples/#235.spec.yaml index bd6014ed..702b836c 100644 --- a/language_examples/#235.spec.yaml +++ b/language_examples/#235.spec.yaml @@ -12,6 +12,7 @@ - entity.name.function.preprocessor - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: \ scopes: diff --git a/language_examples/#238.spec.yaml b/language_examples/#238.spec.yaml index 38a3e497..38827a49 100644 --- a/language_examples/#238.spec.yaml +++ b/language_examples/#238.spec.yaml @@ -64,6 +64,7 @@ - punctuation.section.parens.begin.bracket.round - source: expr scopes: + - variable.lower-case - variable.other.unknown.expr - source: ) scopes: diff --git a/language_examples/#247.spec.yaml b/language_examples/#247.spec.yaml index 55625698..e38317ec 100644 --- a/language_examples/#247.spec.yaml +++ b/language_examples/#247.spec.yaml @@ -15,16 +15,16 @@ scopesBegin: - meta.body.struct scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: 'true' scopes: - constant.language.true - source: ',' scopesBegin: - - meta.static_assert.message + - meta.static-assert.message scopes: - punctuation.separator.delimiter.comma - source: '"' @@ -37,26 +37,27 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.static_assert.message + - meta.static-assert.message - string.quoted.double - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement - source: static_assert scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: bar scopes: + - variable.lower-case - variable.other.unknown.bar - source: ',' scopesBegin: - - meta.static_assert.message + - meta.static-assert.message scopes: - punctuation.separator.delimiter.comma - source: '"' @@ -69,11 +70,11 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.static_assert.message + - meta.static-assert.message - string.quoted.double - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement @@ -107,7 +108,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar diff --git a/language_examples/#249.spec.yaml b/language_examples/#249.spec.yaml index e71130ad..00e65042 100644 --- a/language_examples/#249.spec.yaml +++ b/language_examples/#249.spec.yaml @@ -78,13 +78,19 @@ scopesEnd: - storage.type.modifier.access.control.public - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -117,13 +123,19 @@ scopesEnd: - storage.type.modifier.access.control.public - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -140,14 +152,14 @@ - source: class scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - storage.type.class - source: Node scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer @@ -217,14 +229,14 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: class scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - storage.type.class - source: Node scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer @@ -309,7 +321,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main diff --git a/language_examples/#256.spec.yaml b/language_examples/#256.spec.yaml index 8870af69..d375e7e2 100644 --- a/language_examples/#256.spec.yaml +++ b/language_examples/#256.spec.yaml @@ -167,6 +167,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -207,6 +208,7 @@ - punctuation.section.angle-brackets.begin.template.definition - source: class scopes: + - variable.lower-case - variable.other.unknown.class - source: '=' scopes: @@ -243,7 +245,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -257,7 +259,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -353,6 +355,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -368,18 +371,24 @@ - source: CharT scopesBegin: - meta.body.function.definition.special.constructor + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -388,10 +397,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -411,6 +423,7 @@ - storage.type.built-in - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: '=' scopes: @@ -423,18 +436,21 @@ - punctuation.terminator.statement - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: < scopes: - keyword.operator.comparison - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ++ scopes: @@ -474,6 +490,7 @@ - punctuation.definition.begin.bracket.square - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ']' scopes: @@ -485,6 +502,7 @@ - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -520,6 +538,7 @@ - punctuation.definition.begin.bracket.square - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ']' scopes: diff --git a/language_examples/#259.spec.yaml b/language_examples/#259.spec.yaml index e8a8d699..d43dbc73 100644 --- a/language_examples/#259.spec.yaml +++ b/language_examples/#259.spec.yaml @@ -75,7 +75,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -97,16 +97,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -144,7 +150,7 @@ - punctuation.separator.scope-resolution.template.call - source: shared_ptr scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -154,13 +160,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: cc scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: @@ -186,6 +192,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: diff --git a/language_examples/#261.spec.yaml b/language_examples/#261.spec.yaml index f7ae9af8..b08e0d31 100644 --- a/language_examples/#261.spec.yaml +++ b/language_examples/#261.spec.yaml @@ -5,7 +5,7 @@ - storage.modifier.constexpr - source: A scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -33,13 +33,16 @@ - keyword.control.return - source: A scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '?' scopes: - keyword.operator.ternary @@ -73,6 +76,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: A scopes: + - variable.upper-case - variable.other.unknown.A - source: ) scopes: @@ -82,7 +86,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -101,10 +105,12 @@ - punctuation.separator.scope-resolution - source: A scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: A scopes: - entity.name.scope-resolution.function.call @@ -135,6 +141,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: A scopes: + - variable.upper-case - variable.other.unknown.A - source: ) scopes: @@ -144,7 +151,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -167,6 +174,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -180,7 +188,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func diff --git a/language_examples/#264.spec.yaml b/language_examples/#264.spec.yaml index 97f33181..adbaef8d 100644 --- a/language_examples/#264.spec.yaml +++ b/language_examples/#264.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -50,6 +50,7 @@ - punctuation.separator.delimiter.comma - source: 'N' scopes: + - variable.upper-case - variable.other.unknown.N - source: ) scopes: @@ -73,6 +74,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -85,12 +87,14 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: <= scopes: - keyword.operator.comparison - source: 'N' scopes: + - variable.upper-case - variable.other.unknown.N - source: ; scopes: @@ -100,6 +104,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -174,12 +179,14 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '==' scopes: - keyword.operator.comparison - source: 'N' scopes: + - variable.upper-case - variable.other.unknown.N - source: ']' scopes: @@ -209,6 +216,7 @@ - punctuation.definition.begin.bracket.square - source: 'N' scopes: + - variable.upper-case - variable.other.unknown.N - source: + scopes: @@ -240,6 +248,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -252,12 +261,14 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: <= scopes: - keyword.operator.comparison - source: 'N' scopes: + - variable.upper-case - variable.other.unknown.N - source: ; scopes: @@ -267,6 +278,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -285,6 +297,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -296,6 +309,7 @@ - keyword.operator.assignment - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ; scopes: @@ -315,6 +329,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: perm scopes: + - variable.lower-case - variable.other.unknown.perm - source: + scopes: @@ -327,6 +342,7 @@ - punctuation.separator.delimiter.comma - source: perm scopes: + - variable.lower-case - variable.other.unknown.perm - source: + scopes: @@ -339,12 +355,14 @@ - keyword.operator.arithmetic - source: 'N' scopes: + - variable.upper-case - variable.other.unknown.N - source: ',' scopes: - punctuation.separator.delimiter.comma - source: gen scopes: + - variable.lower-case - variable.other.unknown.gen - source: ) scopes: diff --git a/language_examples/#279.spec.yaml b/language_examples/#279.spec.yaml index 69b41d0d..edc749b0 100644 --- a/language_examples/#279.spec.yaml +++ b/language_examples/#279.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/#282.spec.yaml b/language_examples/#282.spec.yaml index 48e9a827..b728d594 100644 --- a/language_examples/#282.spec.yaml +++ b/language_examples/#282.spec.yaml @@ -61,7 +61,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: aVar scopesBegin: @@ -77,7 +77,7 @@ - meta.parameter - meta.initialization scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -117,7 +117,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: aVar scopesBegin: @@ -138,7 +138,7 @@ scopesBegin: - meta.initialization scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -178,7 +178,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: aVar scopesBegin: @@ -227,7 +227,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: aVar scopesBegin: @@ -272,7 +272,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: gen scopesBegin: @@ -337,7 +337,7 @@ - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -348,7 +348,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: eng1 scopesBegin: - meta.head.function.definition @@ -411,7 +411,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main diff --git a/language_examples/#283.spec.yaml b/language_examples/#283.spec.yaml index b4efbb5e..f83b9f86 100644 --- a/language_examples/#283.spec.yaml +++ b/language_examples/#283.spec.yaml @@ -11,7 +11,7 @@ - keyword.operator.assignment - source: another_type scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -33,7 +33,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: diff --git a/language_examples/#287.spec.yaml b/language_examples/#287.spec.yaml index 93d072a1..52991a67 100644 --- a/language_examples/#287.spec.yaml +++ b/language_examples/#287.spec.yaml @@ -1,5 +1,6 @@ - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '*' scopesBegin: @@ -15,6 +16,7 @@ - keyword.operator.arithmetic - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '&&' scopesBegin: @@ -45,6 +47,7 @@ - keyword.operator.arithmetic - source: string scopes: + - variable.lower-case - variable.other.unknown.string - source: '=' scopes: @@ -65,7 +68,8 @@ - punctuation.terminator.statement - source: DEBUG_UART_PORT scopes: - - variable.other.object.access + - variable.upper-case + - variable.other.object.access.DEBUG_UART_PORT - source: . scopes: - punctuation.separator.dot-access @@ -77,10 +81,12 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: F scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -104,6 +110,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member diff --git a/language_examples/#301.spec.yaml b/language_examples/#301.spec.yaml index 8e2d0e50..e4d62221 100644 --- a/language_examples/#301.spec.yaml +++ b/language_examples/#301.spec.yaml @@ -27,7 +27,7 @@ - storage.modifier.virtual - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: method @@ -81,7 +81,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -104,7 +104,7 @@ - storage.modifier.virtual - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: method diff --git a/language_examples/#305.spec.yaml b/language_examples/#305.spec.yaml index 1066f121..6729813a 100644 --- a/language_examples/#305.spec.yaml +++ b/language_examples/#305.spec.yaml @@ -140,57 +140,87 @@ scopesEnd: - meta.function.definition.special.constructor - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: someMember scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: anotherOne scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: quiteALotOfMembers scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: soManyThatTheConstructorIsLong scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: iMeanReallyLong scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#307.spec.yaml b/language_examples/#307.spec.yaml index 5c0c038b..088373e0 100644 --- a/language_examples/#307.spec.yaml +++ b/language_examples/#307.spec.yaml @@ -96,6 +96,7 @@ - source: argOne scopes: - meta.parameter.initialization + - variable.camel-case - variable.other.unknown.argOne - source: ) scopes: @@ -113,6 +114,7 @@ - source: argOther scopes: - meta.parameter.initialization + - variable.camel-case - variable.other.unknown.argOther - source: ) scopes: @@ -131,19 +133,26 @@ scopesEnd: - meta.function.definition.special.constructor - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: m_one scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare - source: ',' scopes: - punctuation.separator.delimiter.comma - source: m_other scopes: + - variable.snake-case - variable.other.unknown.m_other + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -172,7 +181,7 @@ - storage.type.modifier.access.public - source: BaseClass scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -182,13 +191,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ThisTest scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '{' scopes: @@ -324,7 +333,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ThisTest scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -375,57 +384,87 @@ - meta.function.definition.special.constructor - meta.body.function.definition.special.constructor - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: someMember scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: anotherOne scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: quiteALotOfMembers scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: soManyThatTheConstructorIsLong scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: iMeanReallyLong scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#324.spec.yaml b/language_examples/#324.spec.yaml index 47f19f6d..e4eeca1d 100644 --- a/language_examples/#324.spec.yaml +++ b/language_examples/#324.spec.yaml @@ -71,6 +71,7 @@ - punctuation.section.parens.begin.bracket.round - source: edited scopes: + - variable.lower-case - variable.other.unknown.edited - source: ) scopes: @@ -95,6 +96,7 @@ - punctuation.section.parens.begin.bracket.round - source: ampersand scopes: + - variable.lower-case - variable.other.unknown.ampersand - source: ) scopes: @@ -117,6 +119,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: string scopes: + - variable.lower-case - variable.other.unknown.string - source: ',' scopes: @@ -178,12 +181,14 @@ - constant.character.escape.line-continuation - source: ampersand scopes: + - variable.lower-case - variable.other.unknown.ampersand - source: '=' scopes: - keyword.operator.assignment - source: 'TRUE' scopes: + - variable.upper-case - variable.other.unknown.TRUE - source: ; scopes: @@ -199,6 +204,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: string scopes: + - variable.lower-case - variable.other.unknown.string - source: ',' scopes: diff --git a/language_examples/#341.spec.yaml b/language_examples/#341.spec.yaml index a45a1b5a..a1261561 100644 --- a/language_examples/#341.spec.yaml +++ b/language_examples/#341.spec.yaml @@ -23,7 +23,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: doThings diff --git a/language_examples/#350.spec.yaml b/language_examples/#350.spec.yaml index 9c8d38d2..1ef2c0f5 100644 --- a/language_examples/#350.spec.yaml +++ b/language_examples/#350.spec.yaml @@ -52,6 +52,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: x scopes: + - variable.lower-case - variable.other.unknown.x - source: ) scopes: @@ -116,6 +117,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: x scopes: + - variable.lower-case - variable.other.unknown.x - source: ) scopes: @@ -248,11 +250,15 @@ - punctuation.definition.parameters.end.preprocessor - source: DOCTEST_PRAGMA_TO_STR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: clang + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.clang - source: diagnostic @@ -264,9 +270,12 @@ - source: w scopes: - variable.other.unknown.w + scopesEnd: + - variable.lower-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '#' scopesBegin: - keyword.control.directive.define @@ -390,7 +399,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: DOCTEST_CLANG_SUPPRESS_WARNING scopesBegin: @@ -465,6 +474,7 @@ - keyword.control.directive.elif - source: DOCTEST_GCC scopes: + - variable.snake-case - variable.other.unknown.DOCTEST_GCC - source: '#' scopesBegin: @@ -704,14 +714,19 @@ - punctuation.definition.parameters.end.preprocessor - source: DOCTEST_PRAGMA_TO_STR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: GCC scopes: + - variable.upper-case - variable.other.unknown.GCC - source: diagnostic + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.diagnostic - source: ignored @@ -720,9 +735,12 @@ - source: w scopes: - variable.other.unknown.w + scopesEnd: + - variable.lower-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '#' scopesBegin: - keyword.control.directive.define @@ -932,7 +950,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: DOCTEST_GCC_SUPPRESS_WARNING scopesBegin: @@ -964,6 +982,7 @@ - keyword.control.directive.elif - source: DOCTEST_MSVC scopes: + - variable.snake-case - variable.other.unknown.DOCTEST_MSVC - source: '#' scopesBegin: @@ -1023,6 +1042,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: push scopes: + - variable.lower-case - variable.other.unknown.push - source: ) scopesBegin: @@ -1097,10 +1117,12 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: disable scopes: + - variable.lower-case - variable.other.unknown.disable - source: ' : ' - source: w scopes: + - variable.lower-case - variable.other.unknown.w - source: ) scopesBegin: @@ -1165,6 +1187,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: pop scopes: + - variable.lower-case - variable.other.unknown.pop - source: ) scopesBegin: @@ -1232,7 +1255,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: DOCTEST_MSVC_SUPPRESS_WARNING scopesBegin: diff --git a/language_examples/#353.spec.yaml b/language_examples/#353.spec.yaml index bc0e95a8..985e2ee6 100644 --- a/language_examples/#353.spec.yaml +++ b/language_examples/#353.spec.yaml @@ -54,7 +54,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/#370.spec.yaml b/language_examples/#370.spec.yaml index 93646ca7..746f1800 100644 --- a/language_examples/#370.spec.yaml +++ b/language_examples/#370.spec.yaml @@ -136,18 +136,21 @@ - comment.line.double-slash - source: B scopes: + - variable.upper-case - variable.other.unknown.B - source: < scopes: - keyword.operator.comparison - source: A scopes: + - variable.upper-case - variable.other.unknown.A - source: '>' scopes: - keyword.operator.comparison - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ; scopes: diff --git a/language_examples/#372.spec.yaml b/language_examples/#372.spec.yaml index bbe753b8..9e64f7c2 100644 --- a/language_examples/#372.spec.yaml +++ b/language_examples/#372.spec.yaml @@ -36,6 +36,7 @@ - source: static scopesBegin: - meta.body.class + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -43,15 +44,20 @@ - storage.modifier.specifier.const - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: sizeof... scopes: - keyword.operator.functionlike @@ -66,6 +72,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#375.spec.yaml b/language_examples/#375.spec.yaml index dd38ce02..4a64f9f6 100644 --- a/language_examples/#375.spec.yaml +++ b/language_examples/#375.spec.yaml @@ -13,7 +13,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar diff --git a/language_examples/#386.spec.yaml b/language_examples/#386.spec.yaml index 0f1b1de7..c36dab3f 100644 --- a/language_examples/#386.spec.yaml +++ b/language_examples/#386.spec.yaml @@ -21,8 +21,10 @@ scopesEnd: - storage.type.modifier.access.control.private - source: double + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -30,7 +32,11 @@ - storage.modifier.pointer - source: elem scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -43,13 +49,19 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: sz scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -114,6 +126,7 @@ - punctuation.definition.begin.bracket.square - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ']' scopes: @@ -137,6 +150,7 @@ - source: s scopes: - meta.parameter.initialization + - variable.lower-case - variable.other.unknown.s - source: '}' scopes: @@ -173,6 +187,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -185,12 +200,14 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ; scopes: @@ -200,6 +217,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -218,6 +236,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -281,6 +300,7 @@ - keyword.operator.wordlike - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ; scopes: @@ -304,7 +324,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -348,7 +368,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: size diff --git a/language_examples/#395.spec.yaml b/language_examples/#395.spec.yaml index f4b3e820..821533fc 100644 --- a/language_examples/#395.spec.yaml +++ b/language_examples/#395.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: f @@ -42,7 +42,7 @@ - meta.body.namespace - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: g @@ -95,6 +95,7 @@ - punctuation.separator.scope-resolution - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ; scopes: @@ -111,6 +112,7 @@ - punctuation.separator.scope-resolution - source: g scopes: + - variable.lower-case - variable.other.unknown.g - source: ; scopes: diff --git a/language_examples/#396.spec.yaml b/language_examples/#396.spec.yaml index 3df265c0..0358b96a 100644 --- a/language_examples/#396.spec.yaml +++ b/language_examples/#396.spec.yaml @@ -3,33 +3,41 @@ - keyword.other.module - source: example scopes: + - variable.lower-case - variable.other.unknown.example - source: ; scopes: - punctuation.terminator.statement - source: import scopes: + - variable.lower-case - variable.other.unknown.import - source: < scopes: - keyword.operator.comparison - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: '>' scopes: - keyword.operator.comparison - source: import + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.import - source: some scopes: - - variable.other.object.access + - variable.other.object.access.some + scopesEnd: + - variable.lower-case - source: . scopes: - punctuation.separator.dot-access - source: other scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -76,6 +84,7 @@ - keyword.other.concept - source: convertible_to scopes: + - variable.snake-case - variable.other.unknown.convertible_to - source: '=' scopes: @@ -129,6 +138,7 @@ - keyword.operator.bitwise - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ) scopes: diff --git a/language_examples/#398.spec.yaml b/language_examples/#398.spec.yaml index c1f0d963..a6512d56 100644 --- a/language_examples/#398.spec.yaml +++ b/language_examples/#398.spec.yaml @@ -11,7 +11,7 @@ - storage.modifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -22,7 +22,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -54,7 +54,7 @@ - storage.modifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -65,7 +65,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -97,7 +97,7 @@ - storage.modifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -108,7 +108,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -143,7 +143,7 @@ - storage.modifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -154,7 +154,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -189,7 +189,7 @@ - storage.modifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -200,7 +200,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -232,7 +232,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -263,7 +263,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -291,7 +291,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -319,7 +319,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/#407.spec.yaml b/language_examples/#407.spec.yaml index 1b7000ec..906a5b74 100644 --- a/language_examples/#407.spec.yaml +++ b/language_examples/#407.spec.yaml @@ -57,7 +57,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -148,7 +148,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: diff --git a/language_examples/#410.spec.yaml b/language_examples/#410.spec.yaml index 53e468b7..1a2d7190 100644 --- a/language_examples/#410.spec.yaml +++ b/language_examples/#410.spec.yaml @@ -81,6 +81,7 @@ - source: size scopes: - meta.parameter.initialization + - variable.lower-case - variable.other.unknown.size - source: ) scopes: @@ -95,6 +96,7 @@ scopesBegin: - meta.body.function.definition.special.constructor scopes: + - variable.lower-case - variable.other.unknown.container - source: '=' scopes: @@ -113,6 +115,7 @@ - punctuation.definition.begin.bracket.square - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: ']' scopes: @@ -162,6 +165,7 @@ - keyword.operator.wordlike - source: container scopes: + - variable.lower-case - variable.other.unknown.container - source: ; scopes: @@ -177,7 +181,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -234,6 +238,7 @@ - storage.type.built-in.primitive - source: itr scopes: + - variable.lower-case - variable.other.unknown.itr - source: '=' scopes: @@ -246,18 +251,21 @@ - punctuation.terminator.statement - source: itr scopes: + - variable.lower-case - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: ; scopes: @@ -267,6 +275,7 @@ - keyword.operator.increment - source: itr scopes: + - variable.lower-case - variable.other.unknown.itr scopesEnd: - meta.parens.control.for @@ -290,6 +299,7 @@ - punctuation.definition.begin.bracket.square - source: itr scopes: + - variable.lower-case - variable.other.unknown.itr - source: ']' scopes: @@ -309,12 +319,14 @@ - punctuation.definition.begin.bracket.square - source: itr scopes: + - variable.lower-case - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -349,7 +361,7 @@ - meta.body.function.definition.special.operator-overload - source: DummyContainer scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -406,6 +418,7 @@ - storage.type.built-in.primitive - source: itr scopes: + - variable.lower-case - variable.other.unknown.itr - source: '=' scopes: @@ -418,18 +431,21 @@ - punctuation.terminator.statement - source: itr scopes: + - variable.lower-case - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: ; scopes: @@ -439,6 +455,7 @@ - keyword.operator.increment - source: itr scopes: + - variable.lower-case - variable.other.unknown.itr scopesEnd: - meta.parens.control.for @@ -462,6 +479,7 @@ - punctuation.definition.begin.bracket.square - source: itr scopes: + - variable.lower-case - variable.other.unknown.itr - source: ']' scopes: @@ -481,12 +499,14 @@ - punctuation.definition.begin.bracket.square - source: itr scopes: + - variable.lower-case - variable.other.unknown.itr - source: + scopes: - keyword.operator.arithmetic - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -529,26 +549,38 @@ scopesEnd: - storage.type.modifier.access.control.private - source: T + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: container scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: size scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#412.spec.yaml b/language_examples/#412.spec.yaml index 20721995..f95463ae 100644 --- a/language_examples/#412.spec.yaml +++ b/language_examples/#412.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -29,6 +29,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: // scopesBegin: @@ -69,7 +70,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -96,6 +97,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: // scopesBegin: @@ -112,6 +114,7 @@ - punctuation.definition.begin.bracket.square - source: ARRAY_SIZE scopes: + - variable.snake-case - variable.other.unknown.ARRAY_SIZE - source: ']' scopes: diff --git a/language_examples/#414.spec.yaml b/language_examples/#414.spec.yaml index 22945043..625d2cf7 100644 --- a/language_examples/#414.spec.yaml +++ b/language_examples/#414.spec.yaml @@ -1,12 +1,13 @@ - source: L_API scopes: + - variable.snake-case - variable.other.unknown.L_API - source: ALenum scopes: - variable.other.unknown.ALenum - source: AL_APIENTRY scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: alGetError scopes: @@ -23,6 +24,7 @@ - punctuation.section.arguments.end.bracket.round.function.call - source: START_API_FUNC scopes: + - variable.upper-case - variable.other.unknown.START_API_FUNC - source: '{' scopesBegin: @@ -31,11 +33,12 @@ - punctuation.section.block.begin.bracket.curly - source: ContextRef scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - entity.name.function.call.constructor + - variable.lower-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -63,19 +66,23 @@ - keyword.control.if - source: UNLIKELY scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '!' scopes: - keyword.operator.logical - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '{' scopesBegin: - meta.block @@ -86,11 +93,12 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: ALenum scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: deferror scopes: - - entity.name.function.call.constructor + - variable.lower-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -98,6 +106,7 @@ - punctuation.section.block.begin.bracket.curly - source: AL_INVALID_OPERATION scopes: + - variable.upper-case - variable.other.unknown.AL_INVALID_OPERATION - source: '}' scopes: @@ -109,10 +118,12 @@ - punctuation.terminator.statement - source: WARN scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -136,10 +147,12 @@ - punctuation.separator.delimiter.comma - source: deferror scopes: + - variable.lower-case - variable.other.unknown.deferror - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -226,6 +239,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: SIGTRAP scopes: + - variable.upper-case - variable.other.unknown.SIGTRAP - source: ) scopes: @@ -238,6 +252,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: SIGTRAP scopes: + - variable.upper-case - variable.other.unknown.SIGTRAP - source: ) scopes: @@ -263,6 +278,7 @@ - keyword.control.return - source: deferror scopes: + - variable.lower-case - variable.other.unknown.deferror - source: ; scopes: @@ -277,12 +293,14 @@ - keyword.control.return - source: context scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.context - source: '->' scopes: - punctuation.separator.pointer-access - source: mLastError scopes: + - variable.camel-case - variable.other.object.property - source: . scopes: @@ -295,6 +313,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: AL_NO_ERROR scopes: + - variable.upper-case - variable.other.unknown.AL_NO_ERROR - source: ) scopes: @@ -309,4 +328,5 @@ - meta.block - source: END_API_FUNC scopes: + - variable.upper-case - variable.other.unknown.END_API_FUNC diff --git a/language_examples/#426.spec.yaml b/language_examples/#426.spec.yaml index a9d9a327..6346ef9b 100644 --- a/language_examples/#426.spec.yaml +++ b/language_examples/#426.spec.yaml @@ -6,6 +6,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: msg3 scopes: + - variable.lower-case - variable.other.unknown.msg3 - source: ',' scopes: @@ -146,6 +147,7 @@ - punctuation.separator.delimiter.comma - source: tmp_line2 scopes: + - variable.snake-case - variable.other.unknown.tmp_line2 - source: ',' scopes: diff --git a/language_examples/#427.spec.yaml b/language_examples/#427.spec.yaml index 4baa00b0..ec2d607a 100644 --- a/language_examples/#427.spec.yaml +++ b/language_examples/#427.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: fun1 diff --git a/language_examples/#432.spec.yaml b/language_examples/#432.spec.yaml index 77019601..e7fc95ab 100644 --- a/language_examples/#432.spec.yaml +++ b/language_examples/#432.spec.yaml @@ -33,12 +33,17 @@ - source: T scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: t scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#433.spec.yaml b/language_examples/#433.spec.yaml index 895e06b5..a1a20d76 100644 --- a/language_examples/#433.spec.yaml +++ b/language_examples/#433.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test @@ -52,7 +52,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test @@ -146,7 +146,8 @@ - punctuation.section.parens.begin.bracket.round.assembly.inner - source: prevTile scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.prevTile - source: . scopes: - punctuation.separator.dot-access @@ -193,7 +194,8 @@ - punctuation.section.parens.begin.bracket.round.assembly.inner - source: prevTile scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.prevTile - source: . scopes: - punctuation.separator.dot-access @@ -242,6 +244,7 @@ - punctuation.section.parens.begin.bracket.round.assembly.inner - source: curpal0 scopes: + - variable.lower-case - variable.other.unknown.curpal0 - source: ) scopes: @@ -270,6 +273,7 @@ - punctuation.section.parens.begin.bracket.round.assembly.inner - source: curpal1 scopes: + - variable.lower-case - variable.other.unknown.curpal1 - source: ) scopes: @@ -411,19 +415,28 @@ scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -469,7 +482,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main diff --git a/language_examples/#438.spec.yaml b/language_examples/#438.spec.yaml index ca0205c2..75a22323 100644 --- a/language_examples/#438.spec.yaml +++ b/language_examples/#438.spec.yaml @@ -54,7 +54,7 @@ - storage.type.modifier.access.public - source: Example scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -77,7 +77,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '{' scopes: @@ -115,7 +115,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -137,19 +137,27 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: x + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '52' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -215,7 +223,7 @@ - storage.type.modifier.access.public - source: Example scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -238,7 +246,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '{' scopes: @@ -276,7 +284,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -298,19 +306,27 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: x + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '52' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#442.spec.yaml b/language_examples/#442.spec.yaml index 8a901d11..95cb339f 100644 --- a/language_examples/#442.spec.yaml +++ b/language_examples/#442.spec.yaml @@ -269,7 +269,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -280,7 +280,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -305,6 +305,7 @@ scopesBegin: - meta.body.namespace scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: @@ -318,12 +319,14 @@ - storage.type.built-in.primitive - source: kill scopes: + - variable.lower-case - variable.other.unknown.kill - source: ; scopes: - punctuation.terminator.statement - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: @@ -337,6 +340,7 @@ - storage.type.built-in.primitive - source: terminate scopes: + - variable.lower-case - variable.other.unknown.terminate - source: ; scopes: @@ -372,7 +376,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -410,13 +414,13 @@ - punctuation.separator.scope-resolution.template.call - source: milli scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -425,6 +429,7 @@ - meta.declaration.type.alias - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: @@ -433,16 +438,21 @@ scopes: - storage.modifier.specifier.const - source: milliseconds + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.milliseconds - source: infinite scopes: - variable.other.unknown.infinite + scopesEnd: + - variable.lower-case - source: ; scopes: - punctuation.terminator.statement - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: @@ -451,16 +461,21 @@ scopes: - storage.modifier.specifier.const - source: milliseconds + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.milliseconds - source: deadline scopes: - variable.other.unknown.deadline + scopesEnd: + - variable.lower-case - source: ; scopes: - punctuation.terminator.statement - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: extern scopes: @@ -469,11 +484,15 @@ scopes: - storage.modifier.specifier.const - source: milliseconds + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.milliseconds - source: nonblocking scopes: - variable.other.unknown.nonblocking + scopesEnd: + - variable.lower-case - source: ; scopes: - punctuation.terminator.statement @@ -590,22 +609,33 @@ - source: stop scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: action scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: milliseconds + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: timeout scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -631,32 +661,49 @@ - source: stop_action scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: first scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stop_action + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: second scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stop_action + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: third scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -694,40 +741,54 @@ - comment.block.documentation - source: class scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - storage.type.class - source: environment scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: environment scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: char scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: working_directory + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: nullptr scopes: - constant.language.nullptr + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -745,32 +806,49 @@ - source: redirect scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: in scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: redirect + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: out scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: redirect + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: err scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -783,6 +861,7 @@ scopesBegin: - meta.tail.struct scopes: + - variable.lower-case - variable.other.unknown.redirect - source: '=' scopes: @@ -805,20 +884,26 @@ - meta.block.struct - source: struct scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - storage.type.struct - source: stop_actions scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: stop + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -828,13 +913,15 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: - punctuation.terminator.statement - source: reproc scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -845,13 +932,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: timeout + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reproc scopes: - entity.name.scope-resolution @@ -871,12 +963,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: reproc scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -887,13 +982,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: deadline + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reproc scopes: - entity.name.scope-resolution @@ -913,40 +1013,60 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: inherit + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: discard + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -964,17 +1084,22 @@ - comment.block.documentation - source: class scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - storage.type.class - source: input scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: input scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1073,7 +1198,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: process scopesBegin: @@ -1094,6 +1219,7 @@ - punctuation.terminator.statement - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: '~' scopes: @@ -1125,7 +1251,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: process scopesBegin: @@ -1167,12 +1293,13 @@ - punctuation.terminator.statement - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: process scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -1233,10 +1360,11 @@ - comment.block.documentation - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1247,7 +1375,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: start scopes: - entity.name.function.call @@ -1259,12 +1387,14 @@ - storage.modifier.specifier.const - source: arguments scopes: + - variable.lower-case - variable.other.unknown.arguments - source: '&' scopes: - keyword.operator.bitwise - source: arguments scopes: + - variable.lower-case - variable.other.unknown.arguments - source: ',' scopes: @@ -1274,12 +1404,14 @@ - storage.modifier.specifier.const - source: options scopes: + - variable.lower-case - variable.other.unknown.options - source: '&' scopes: - keyword.operator.bitwise - source: options scopes: + - variable.lower-case - variable.other.unknown.options - source: '=' scopes: @@ -1308,6 +1440,7 @@ - comment.block.documentation - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: @@ -1318,6 +1451,7 @@ - punctuation.separator.scope-resolution - source: pair scopes: + - variable.lower-case - variable.other.unknown.pair - source: < scopes: @@ -1338,6 +1472,7 @@ - punctuation.separator.scope-resolution - source: error_code scopes: + - variable.snake-case - variable.other.unknown.error_code - source: '>' scopes: @@ -1399,10 +1534,11 @@ - comment.block.documentation - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1419,7 +1555,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: stream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -1433,13 +1569,13 @@ - punctuation.separator.scope-resolution.template.call - source: error_code scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: poll scopes: @@ -1448,11 +1584,15 @@ scopes: - punctuation.section.arguments.begin.bracket.round.function.call - source: stream + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.stream - source: set scopes: - variable.other.unknown.set + scopesEnd: + - variable.lower-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call @@ -1472,6 +1612,7 @@ - comment.block.documentation - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: @@ -1482,6 +1623,7 @@ - punctuation.separator.scope-resolution - source: pair scopes: + - variable.lower-case - variable.other.unknown.pair - source: < scopes: @@ -1502,6 +1644,7 @@ - punctuation.separator.scope-resolution - source: error_code scopes: + - variable.snake-case - variable.other.unknown.error_code - source: '>' scopes: @@ -1576,6 +1719,7 @@ - comment.block.documentation - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: @@ -1586,6 +1730,7 @@ - punctuation.separator.scope-resolution - source: pair scopes: + - variable.lower-case - variable.other.unknown.pair - source: < scopes: @@ -1606,6 +1751,7 @@ - punctuation.separator.scope-resolution - source: error_code scopes: + - variable.snake-case - variable.other.unknown.error_code - source: '>' scopes: @@ -1663,10 +1809,11 @@ - punctuation.terminator.statement - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1677,7 +1824,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: close scopes: - entity.name.function.call @@ -1686,9 +1833,11 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: stream scopesBegin: + - variable.lower-case - variable.other.unknown.stream - source: stream scopesEnd: + - variable.lower-case - variable.other.unknown.stream - source: ) scopes: @@ -1712,6 +1861,7 @@ - comment.block.documentation - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: @@ -1722,6 +1872,7 @@ - punctuation.separator.scope-resolution - source: pair scopes: + - variable.lower-case - variable.other.unknown.pair - source: < scopes: @@ -1742,6 +1893,7 @@ - punctuation.separator.scope-resolution - source: error_code scopes: + - variable.snake-case - variable.other.unknown.error_code - source: '>' scopes: @@ -1782,10 +1934,11 @@ - punctuation.terminator.statement - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1796,7 +1949,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: terminate scopes: - entity.name.function.call @@ -1814,10 +1967,11 @@ - punctuation.terminator.statement - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1828,7 +1982,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: kill scopes: - entity.name.function.call @@ -1857,6 +2011,7 @@ - comment.block.documentation - source: REPROCXX_EXPORT scopes: + - variable.snake-case - variable.other.unknown.REPROCXX_EXPORT - source: std scopes: @@ -1867,6 +2022,7 @@ - punctuation.separator.scope-resolution - source: pair scopes: + - variable.lower-case - variable.other.unknown.pair - source: < scopes: @@ -1887,6 +2043,7 @@ - punctuation.separator.scope-resolution - source: error_code scopes: + - variable.snake-case - variable.other.unknown.error_code - source: '>' scopes: @@ -1935,7 +2092,8 @@ - storage.type.modifier.access.control.private - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1978,11 +2136,15 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: process_ scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -2144,12 +2306,17 @@ - source: process scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: process scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#443.spec.yaml b/language_examples/#443.spec.yaml index c1449e37..fa812aba 100644 --- a/language_examples/#443.spec.yaml +++ b/language_examples/#443.spec.yaml @@ -25,6 +25,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ; scopes: @@ -35,6 +36,7 @@ - storage.type.built-in.primitive - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ; scopes: @@ -45,6 +47,7 @@ - storage.type.built-in.primitive - source: str scopes: + - variable.lower-case - variable.other.unknown.str - source: '=' scopes: @@ -92,6 +95,7 @@ - storage.type.built-in.primitive - source: c scopes: + - variable.lower-case - variable.other.unknown.c - source: ; scopes: @@ -102,6 +106,7 @@ - storage.type.built-in.primitive - source: d scopes: + - variable.lower-case - variable.other.unknown.d - source: ; scopes: @@ -112,6 +117,7 @@ - storage.type.built-in.primitive - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: '=' scopes: @@ -136,6 +142,7 @@ - storage.type.built-in.primitive - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ; scopes: @@ -146,6 +153,7 @@ - storage.type.built-in.primitive - source: f scopes: + - variable.lower-case - variable.other.unknown.f - source: ; scopes: diff --git a/language_examples/#460.spec.yaml b/language_examples/#460.spec.yaml index d727fea7..fae6af9b 100644 --- a/language_examples/#460.spec.yaml +++ b/language_examples/#460.spec.yaml @@ -29,7 +29,7 @@ - punctuation.separator.scope-resolution.template.call - source: pair scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -46,7 +46,7 @@ - punctuation.separator.scope-resolution.template.call - source: xml_node scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -60,7 +60,7 @@ - punctuation.separator.scope-resolution.template.call - source: map scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -77,7 +77,7 @@ - punctuation.separator.scope-resolution.template.call - source: basic_string scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -93,7 +93,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -107,7 +107,7 @@ - punctuation.separator.scope-resolution.template.call - source: xml_node scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -121,7 +121,7 @@ - punctuation.separator.scope-resolution.template.call - source: less scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -138,7 +138,7 @@ - punctuation.separator.scope-resolution.template.call - source: basic_string scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -154,13 +154,13 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -174,7 +174,7 @@ - punctuation.separator.scope-resolution.template.call - source: allocator scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -191,7 +191,7 @@ - punctuation.separator.scope-resolution.template.call - source: pair scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -211,7 +211,7 @@ - punctuation.separator.scope-resolution.template.call - source: basic_string scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -227,7 +227,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -241,31 +241,31 @@ - punctuation.separator.scope-resolution.template.call - source: xml_node scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: @@ -278,6 +278,8 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: type + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.type - source: dnode diff --git a/language_examples/#462.spec.yaml b/language_examples/#462.spec.yaml index b5b16dba..66cd1a05 100644 --- a/language_examples/#462.spec.yaml +++ b/language_examples/#462.spec.yaml @@ -1,9 +1,11 @@ - source: DEFINE_SOMETHING scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ( scopesBegin: - meta.parens @@ -17,6 +19,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#489.spec.yaml b/language_examples/#489.spec.yaml index c3c21b9f..73a263e0 100644 --- a/language_examples/#489.spec.yaml +++ b/language_examples/#489.spec.yaml @@ -72,7 +72,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -146,7 +146,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -221,7 +221,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -296,7 +296,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -368,7 +368,7 @@ - storage.type.modifier.access.public - source: Base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: diff --git a/language_examples/#501.spec.yaml b/language_examples/#501.spec.yaml index b4abbf61..1f62be58 100644 --- a/language_examples/#501.spec.yaml +++ b/language_examples/#501.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -24,16 +24,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '''' scopesBegin: - string.quoted.single @@ -46,12 +52,14 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.single - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -77,6 +85,7 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -103,16 +112,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: b + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -129,12 +145,14 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -160,6 +178,7 @@ - punctuation.section.parens.begin.bracket.round - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -186,16 +205,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: c + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -209,12 +235,14 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -240,6 +268,7 @@ - punctuation.section.parens.begin.bracket.round - source: c scopes: + - variable.lower-case - variable.other.unknown.c - source: ) scopes: @@ -266,16 +295,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: c + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -289,21 +325,29 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: c + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -317,6 +361,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: diff --git a/language_examples/#511.spec.yaml b/language_examples/#511.spec.yaml index 55096395..74140e71 100644 --- a/language_examples/#511.spec.yaml +++ b/language_examples/#511.spec.yaml @@ -19,7 +19,7 @@ - storage.modifier.virtual - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test diff --git a/language_examples/#530.spec.yaml b/language_examples/#530.spec.yaml index cf803ded..00d63ed5 100644 --- a/language_examples/#530.spec.yaml +++ b/language_examples/#530.spec.yaml @@ -14,16 +14,22 @@ - source: int scopesBegin: - meta.body.struct + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: x + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: f scopes: - entity.name.function.call @@ -48,43 +54,61 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: 'y' + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '100' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: char scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: z + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -95,6 +119,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -121,16 +146,22 @@ - source: int scopesBegin: - meta.body.struct + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: x1 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: f scopes: - entity.name.function.call @@ -155,20 +186,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: x2 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: f scopes: - entity.name.function.call @@ -193,20 +233,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: x3 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: f scopes: - entity.name.function.call @@ -239,44 +288,61 @@ - punctuation.section.arguments.end.bracket.round.function.call - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: 'y' + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '100' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: char scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: z + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -287,6 +353,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: diff --git a/language_examples/#569.spec.yaml b/language_examples/#569.spec.yaml index 682196c7..fc02174e 100644 --- a/language_examples/#569.spec.yaml +++ b/language_examples/#569.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func1 diff --git a/language_examples/#590.spec.yaml b/language_examples/#590.spec.yaml index 1314c05f..6d551b19 100644 --- a/language_examples/#590.spec.yaml +++ b/language_examples/#590.spec.yaml @@ -80,7 +80,7 @@ - storage.type.modifier.access.public - source: base scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: \ scopes: @@ -99,7 +99,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: f @@ -142,7 +142,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -167,12 +167,18 @@ scopes: - constant.character.escape.line-continuation - source: der + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: v scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -181,7 +187,8 @@ - constant.character.escape.line-continuation - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -211,28 +218,34 @@ - constant.character.escape.line-continuation - source: DOCTEST_REGISTER_FUNCTION scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: DOCTEST_EMPTY scopes: + - variable.snake-case - variable.other.unknown.DOCTEST_EMPTY - source: ',' scopes: - punctuation.separator.delimiter.comma - source: func scopes: + - variable.lower-case - variable.other.unknown.func - source: ',' scopes: - punctuation.separator.delimiter.comma - source: decorators scopes: + - variable.lower-case - variable.other.unknown.decorators - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: \ scopes: - constant.character.escape.line-continuation @@ -250,6 +263,7 @@ - storage.modifier.specifier.functional.pre-parameters.inline - source: DOCTEST_NOINLINE scopes: + - variable.snake-case - variable.other.unknown.DOCTEST_NOINLINE - source: void scopes: diff --git a/language_examples/#604.spec.yaml b/language_examples/#604.spec.yaml index abe00999..0b69e188 100644 --- a/language_examples/#604.spec.yaml +++ b/language_examples/#604.spec.yaml @@ -4,6 +4,7 @@ - storage.type.built-in.primitive - source: compare scopes: + - variable.lower-case - variable.other.unknown.compare - source: '=' scopes: @@ -92,7 +93,8 @@ - keyword.control.return - source: a scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.a - source: . scopes: - punctuation.separator.dot-access @@ -104,7 +106,8 @@ - keyword.operator.comparison - source: b scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.b - source: . scopes: - punctuation.separator.dot-access diff --git a/language_examples/#610.spec.yaml b/language_examples/#610.spec.yaml index 6b26fd14..244a6282 100644 --- a/language_examples/#610.spec.yaml +++ b/language_examples/#610.spec.yaml @@ -105,6 +105,7 @@ - storage.type.built-in.primitive - source: view scopes: + - variable.lower-case - variable.other.unknown.view - source: '=' scopes: @@ -135,6 +136,7 @@ - storage.type.built-in.primitive - source: owned scopes: + - variable.lower-case - variable.other.unknown.owned - source: '=' scopes: @@ -191,12 +193,17 @@ - source: T scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -216,7 +223,7 @@ - source: Wrapper scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -233,13 +240,13 @@ - punctuation.separator.scope-resolution.template.call - source: wstring scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: operator scopesBegin: @@ -318,12 +325,14 @@ - punctuation.section.block.begin.bracket.curly - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '}' scopes: @@ -354,6 +363,7 @@ - storage.type.built-in.primitive - source: wide_string scopes: + - variable.snake-case - variable.other.unknown.wide_string - source: '=' scopes: @@ -419,7 +429,7 @@ - source: Wrapper scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -435,7 +445,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: operator scopesBegin: @@ -486,6 +496,7 @@ - punctuation.section.block.begin.bracket.curly - source: c scopes: + - variable.lower-case - variable.other.unknown.c - source: '}' scopes: @@ -511,6 +522,7 @@ - storage.type.built-in.primitive - source: character scopes: + - variable.lower-case - variable.other.unknown.character - source: '=' scopes: diff --git a/language_examples/#613.spec.yaml b/language_examples/#613.spec.yaml index 3992ccb0..173e4ece 100644 --- a/language_examples/#613.spec.yaml +++ b/language_examples/#613.spec.yaml @@ -33,7 +33,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: setPosition diff --git a/language_examples/#617.spec.yaml b/language_examples/#617.spec.yaml index 9eb5f256..c42ccf3d 100644 --- a/language_examples/#617.spec.yaml +++ b/language_examples/#617.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -24,18 +24,25 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: < scopes: @@ -61,11 +68,13 @@ - comment.block - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: diff --git a/language_examples/#621.spec.yaml b/language_examples/#621.spec.yaml index 99b9e28d..24c2c6b6 100644 --- a/language_examples/#621.spec.yaml +++ b/language_examples/#621.spec.yaml @@ -13,9 +13,11 @@ - punctuation.separator.scope-resolution - source: string scopes: + - variable.lower-case - variable.other.unknown.string - source: led_paths scopes: + - variable.snake-case - variable.other.unknown.led_paths - source: '[] ' - source: '{' @@ -30,6 +32,7 @@ - punctuation.definition.begin.bracket.square - source: RED scopes: + - variable.upper-case - variable.other.unknown.RED - source: ']' scopes: @@ -41,10 +44,12 @@ - keyword.operator.assignment - source: LED_PATH scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -59,6 +64,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -69,6 +75,7 @@ - punctuation.definition.begin.bracket.square - source: GREEN scopes: + - variable.upper-case - variable.other.unknown.GREEN - source: ']' scopes: @@ -80,10 +87,12 @@ - keyword.operator.assignment - source: LED_PATH scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -98,6 +107,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -108,6 +118,7 @@ - punctuation.definition.begin.bracket.square - source: BLUE scopes: + - variable.upper-case - variable.other.unknown.BLUE - source: ']' scopes: @@ -119,10 +130,12 @@ - keyword.operator.assignment - source: LED_PATH scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -137,6 +150,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -147,6 +161,7 @@ - punctuation.definition.begin.bracket.square - source: WHITE scopes: + - variable.upper-case - variable.other.unknown.WHITE - source: ']' scopes: @@ -158,10 +173,12 @@ - keyword.operator.assignment - source: LED_PATH scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -176,6 +193,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma diff --git a/language_examples/#636.spec.yaml b/language_examples/#636.spec.yaml index e8ddd8ff..db599edc 100644 --- a/language_examples/#636.spec.yaml +++ b/language_examples/#636.spec.yaml @@ -61,7 +61,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -112,7 +112,8 @@ - source: std scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -123,13 +124,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: plate + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: argv scopesBegin: - meta.bracket.square.access @@ -145,23 +151,31 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement - source: AwesomeDBConnection + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: conn scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: conn scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.conn - source: . scopes: - punctuation.separator.dot-access @@ -189,19 +203,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: query + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: conn scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.conn - source: . scopes: - punctuation.separator.dot-access @@ -232,6 +254,7 @@ - keyword.operator.arithmetic - source: plate scopes: + - variable.lower-case - variable.other.unknown.plate - source: + scopes: @@ -250,6 +273,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -268,7 +293,7 @@ - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -282,6 +307,7 @@ - punctuation.separator.colon.range-based - source: query scopes: + - variable.lower-case - variable.other.unknown.query scopesEnd: - meta.parens.control.for @@ -304,6 +330,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -358,6 +385,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -412,6 +440,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -452,6 +481,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: @@ -463,7 +493,8 @@ - meta.block - source: conn scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.conn - source: . scopes: - punctuation.separator.dot-access diff --git a/language_examples/#641.spec.yaml b/language_examples/#641.spec.yaml index 54a3882a..d019eb83 100644 --- a/language_examples/#641.spec.yaml +++ b/language_examples/#641.spec.yaml @@ -23,7 +23,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -96,6 +96,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -123,6 +124,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: @@ -147,6 +149,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -174,6 +177,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: diff --git a/language_examples/#647.spec.yaml b/language_examples/#647.spec.yaml index ee2a9888..959d36e9 100644 --- a/language_examples/#647.spec.yaml +++ b/language_examples/#647.spec.yaml @@ -28,7 +28,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -58,12 +58,14 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: operator scopes: + - variable.lower-case - variable.other.unknown.operator - source: '<<' scopes: @@ -82,6 +84,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: ',' scopes: diff --git a/language_examples/#651.spec.yaml b/language_examples/#651.spec.yaml index 82171994..9f78a3e0 100644 --- a/language_examples/#651.spec.yaml +++ b/language_examples/#651.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -28,7 +28,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -40,10 +40,11 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: highlight scopes: - - entity.name.function.call.constructor + - variable.lower-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -62,7 +63,7 @@ - storage.modifier.specifier.const - source: '::' scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -78,10 +79,11 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: highlight2 scopes: - - entity.name.function.call.constructor + - variable.lower-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -112,6 +114,7 @@ - storage.modifier.specifier.const - source: highlight3 scopes: + - variable.lower-case - variable.other.unknown.highlight3 - source: '{' scopesBegin: @@ -143,6 +146,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: highlight4 scopes: + - variable.lower-case - variable.other.unknown.highlight4 - source: '{' scopesBegin: @@ -162,7 +166,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: '::' scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - punctuation.separator.namespace.access - punctuation.separator.scope-resolution @@ -178,10 +182,11 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: no_highlight scopes: - - entity.name.function.call.constructor + - variable.snake-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block diff --git a/language_examples/#652.spec.yaml b/language_examples/#652.spec.yaml index 091f72bd..a4b3319f 100644 --- a/language_examples/#652.spec.yaml +++ b/language_examples/#652.spec.yaml @@ -15,7 +15,7 @@ scopesBegin: - meta.body.struct scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( @@ -44,7 +44,7 @@ - punctuation.terminator.statement - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( @@ -73,7 +73,7 @@ - punctuation.terminator.statement - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( @@ -114,7 +114,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: baz @@ -137,16 +137,16 @@ scopesBegin: - meta.body.function.definition scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: 'false' scopes: - constant.language.false - source: ',' scopesBegin: - - meta.static_assert.message + - meta.static-assert.message scopes: - punctuation.separator.delimiter.comma - source: '"' @@ -159,28 +159,37 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.static_assert.message + - meta.static-assert.message - string.quoted.double - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: x + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#654.spec.yaml b/language_examples/#654.spec.yaml index 2b5103ea..c338aa88 100644 --- a/language_examples/#654.spec.yaml +++ b/language_examples/#654.spec.yaml @@ -22,7 +22,7 @@ - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -45,7 +45,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: test scopesBegin: @@ -83,7 +83,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -120,6 +120,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -132,6 +133,7 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: @@ -160,6 +162,7 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -186,6 +189,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -197,6 +201,7 @@ - keyword.operator.assignment - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ; scopes: diff --git a/language_examples/#656.spec.yaml b/language_examples/#656.spec.yaml index 26c83773..963fc1b2 100644 --- a/language_examples/#656.spec.yaml +++ b/language_examples/#656.spec.yaml @@ -5,7 +5,7 @@ - storage.modifier.static - source: QAccessibleInterface scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -68,6 +68,7 @@ - punctuation.section.parens.begin.bracket.round - source: classname scopes: + - variable.lower-case - variable.other.unknown.classname - source: '==' scopes: @@ -97,13 +98,15 @@ - keyword.operator.logical - source: object scopes: + - variable.lower-case - variable.other.unknown.object - source: '&&' scopes: - keyword.operator.logical - source: object scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.object - source: '->' scopes: - punctuation.separator.pointer-access @@ -157,6 +160,7 @@ - punctuation.section.parens.begin.bracket.round - source: object scopes: + - variable.lower-case - variable.other.unknown.object - source: ) scopes: diff --git a/language_examples/#vs-73292.spec.yaml b/language_examples/#vs-73292.spec.yaml index d16d77dc..2963ecb0 100644 --- a/language_examples/#vs-73292.spec.yaml +++ b/language_examples/#vs-73292.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -24,19 +24,27 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test_enum + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/#vs-76430.spec.yaml b/language_examples/#vs-76430.spec.yaml index bf4351fb..33cd0aff 100644 --- a/language_examples/#vs-76430.spec.yaml +++ b/language_examples/#vs-76430.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -38,6 +38,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -52,6 +53,7 @@ - source: T scopes: - meta.arguments.operator.typeid + - variable.upper-case - variable.other.unknown.T - source: ) scopes: @@ -86,6 +88,7 @@ - keyword.operator.bitwise.shift - source: valueT scopes: + - variable.camel-case - variable.other.unknown.valueT - source: '<<' scopes: @@ -99,6 +102,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: @@ -145,7 +149,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -181,6 +185,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -195,6 +200,7 @@ - source: T scopes: - meta.arguments.operator.typeid + - variable.upper-case - variable.other.unknown.T - source: ) scopes: @@ -229,6 +235,7 @@ - keyword.operator.bitwise.shift - source: valueT scopes: + - variable.camel-case - variable.other.unknown.valueT - source: '<<' scopes: @@ -242,6 +249,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: diff --git a/language_examples/#vs-cpp-3703.spec.yaml b/language_examples/#vs-cpp-3703.spec.yaml index 4ebee048..09c3cad3 100644 --- a/language_examples/#vs-cpp-3703.spec.yaml +++ b/language_examples/#vs-cpp-3703.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo diff --git a/language_examples/638.spec.yaml b/language_examples/638.spec.yaml index 3700879f..738a7e25 100644 --- a/language_examples/638.spec.yaml +++ b/language_examples/638.spec.yaml @@ -35,7 +35,7 @@ - meta.body.struct - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -60,6 +60,7 @@ scopesBegin: - meta.arguments.requires scopes: + - variable.lower-case - variable.other.unknown.n - source: '==' scopes: @@ -95,7 +96,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -120,6 +121,7 @@ scopesBegin: - meta.arguments.requires scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: @@ -163,13 +165,19 @@ scopesEnd: - storage.type.modifier.access.control.private - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: b scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/constructor_call.spec.yaml b/language_examples/constructor_call.spec.yaml index 3ef62815..9227566b 100644 --- a/language_examples/constructor_call.spec.yaml +++ b/language_examples/constructor_call.spec.yaml @@ -99,7 +99,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test_stress_balls @@ -122,6 +122,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.upper-case - variable.other.unknown.A - source: ; scopes: @@ -160,7 +161,7 @@ - comment.line.double-slash - source: ifstream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: input_file1 scopes: @@ -198,6 +199,7 @@ - keyword.operator.logical - source: input_file1 scopes: + - variable.snake-case - variable.other.unknown.input_file1 - source: ) scopes: @@ -211,6 +213,7 @@ - punctuation.section.block.begin.bracket.curly - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -254,7 +257,7 @@ - meta.block - source: ifstream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: input_file2 scopes: @@ -292,6 +295,7 @@ - keyword.operator.logical - source: input_file2 scopes: + - variable.snake-case - variable.other.unknown.input_file2 - source: ) scopes: @@ -305,6 +309,7 @@ - punctuation.section.block.begin.bracket.curly - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -355,45 +360,61 @@ scopesEnd: - comment.line.double-slash - source: CollectionSB + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: c1 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: input_file1 scopes: + - variable.snake-case - variable.other.unknown.input_file1 - source: '>>' scopes: - keyword.operator.bitwise.shift - source: c1 scopes: + - variable.lower-case - variable.other.unknown.c1 - source: ; scopes: - punctuation.terminator.statement - source: CollectionSB + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: c2 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: input_file2 scopes: + - variable.snake-case - variable.other.unknown.input_file2 - source: '>>' scopes: - keyword.operator.bitwise.shift - source: c2 scopes: + - variable.lower-case - variable.other.unknown.c2 - source: ; scopes: @@ -420,12 +441,14 @@ - comment.line.double-slash - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: '<<' scopes: @@ -449,7 +472,8 @@ - punctuation.terminator.statement - source: c1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c1 - source: . scopes: - punctuation.separator.dot-access @@ -467,12 +491,14 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: '<<' scopes: @@ -496,7 +522,8 @@ - punctuation.terminator.statement - source: c2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c2 - source: . scopes: - punctuation.separator.dot-access @@ -514,26 +541,35 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: CollectionSB + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: c3 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: make_union scopes: - entity.name.function.call @@ -542,27 +578,33 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: c1 scopes: + - variable.lower-case - variable.other.unknown.c1 - source: ',' scopes: - punctuation.separator.delimiter.comma - source: c2 scopes: + - variable.lower-case - variable.other.unknown.c2 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: '<<' scopes: @@ -586,24 +628,28 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -624,7 +670,8 @@ - keyword.operator.bitwise.shift - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -642,12 +689,14 @@ - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -668,7 +717,8 @@ - keyword.operator.bitwise.shift - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -687,6 +737,7 @@ - punctuation.separator.scope-resolution - source: small scopes: + - variable.lower-case - variable.other.unknown.small - source: ) scopes: @@ -696,12 +747,14 @@ - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -722,7 +775,8 @@ - keyword.operator.bitwise.shift - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -741,6 +795,7 @@ - punctuation.separator.scope-resolution - source: medium scopes: + - variable.lower-case - variable.other.unknown.medium - source: ) scopes: @@ -750,12 +805,14 @@ - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -776,7 +833,8 @@ - keyword.operator.bitwise.shift - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -795,6 +853,7 @@ - punctuation.separator.scope-resolution - source: large scopes: + - variable.lower-case - variable.other.unknown.large - source: ) scopes: @@ -804,12 +863,14 @@ - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -830,7 +891,8 @@ - keyword.operator.bitwise.shift - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -849,6 +911,7 @@ - punctuation.separator.scope-resolution - source: red scopes: + - variable.lower-case - variable.other.unknown.red - source: ) scopes: @@ -858,13 +921,14 @@ - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: Stress_ball scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: sb scopes: @@ -881,6 +945,7 @@ - punctuation.separator.scope-resolution - source: green scopes: + - variable.lower-case - variable.other.unknown.green - source: ',' scopes: @@ -894,6 +959,7 @@ - punctuation.separator.scope-resolution - source: small scopes: + - variable.lower-case - variable.other.unknown.small - source: ) scopes: @@ -911,7 +977,8 @@ - punctuation.section.parens.begin.bracket.round - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -923,6 +990,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: sb scopes: + - variable.lower-case - variable.other.unknown.sb - source: ) scopes: @@ -934,6 +1002,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -960,6 +1029,7 @@ - keyword.control.else - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -983,6 +1053,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1017,7 +1088,8 @@ - punctuation.section.parens.begin.bracket.round - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -1029,6 +1101,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: sb scopes: + - variable.lower-case - variable.other.unknown.sb - source: ) scopes: @@ -1040,7 +1113,8 @@ - meta.parens - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -1052,6 +1126,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: sb scopes: + - variable.lower-case - variable.other.unknown.sb - source: ) scopes: @@ -1061,6 +1136,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1081,7 +1157,8 @@ - keyword.operator.bitwise.shift - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -1099,6 +1176,7 @@ - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: @@ -1113,7 +1191,8 @@ - punctuation.section.parens.begin.bracket.round - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -1125,6 +1204,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: sb scopes: + - variable.lower-case - variable.other.unknown.sb - source: ) scopes: @@ -1136,6 +1216,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1162,6 +1243,7 @@ - keyword.control.else - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1185,6 +1267,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1208,7 +1291,8 @@ - punctuation.terminator.statement - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -1220,6 +1304,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: sb scopes: + - variable.lower-case - variable.other.unknown.sb - source: ) scopes: @@ -1237,7 +1322,8 @@ - punctuation.section.parens.begin.bracket.round - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -1249,6 +1335,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: sb scopes: + - variable.lower-case - variable.other.unknown.sb - source: ) scopes: @@ -1260,6 +1347,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1286,6 +1374,7 @@ - keyword.control.else - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1309,7 +1398,7 @@ - punctuation.terminator.statement - source: CollectionSB scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: c4 scopes: @@ -1319,6 +1408,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: ) scopes: @@ -1342,6 +1432,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: ',' scopes: @@ -1355,6 +1446,7 @@ - punctuation.separator.scope-resolution - source: bubble_sort scopes: + - variable.snake-case - variable.other.unknown.bubble_sort - source: ) scopes: @@ -1364,12 +1456,14 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: '<<' scopes: @@ -1393,24 +1487,28 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: ; scopes: - punctuation.terminator.statement - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: '=' scopes: - keyword.operator.assignment - source: c4 scopes: + - variable.lower-case - variable.other.unknown.c4 - source: ; scopes: @@ -1423,6 +1521,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: ',' scopes: @@ -1436,6 +1535,7 @@ - punctuation.separator.scope-resolution - source: quick_sort scopes: + - variable.snake-case - variable.other.unknown.quick_sort - source: ) scopes: @@ -1445,12 +1545,14 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: '<<' scopes: @@ -1474,30 +1576,35 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: '=' scopes: - keyword.operator.assignment - source: c4 scopes: + - variable.lower-case - variable.other.unknown.c4 - source: ; scopes: @@ -1510,6 +1617,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: ',' scopes: @@ -1523,6 +1631,7 @@ - punctuation.separator.scope-resolution - source: merge_sort scopes: + - variable.snake-case - variable.other.unknown.merge_sort - source: ) scopes: @@ -1532,12 +1641,14 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: '<<' scopes: @@ -1561,24 +1672,28 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1602,7 +1717,8 @@ - punctuation.terminator.statement - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -1628,7 +1744,8 @@ - punctuation.section.parens.begin.bracket.round - source: c3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.c3 - source: . scopes: - punctuation.separator.dot-access @@ -1648,6 +1765,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1671,12 +1789,14 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: '<<' scopes: @@ -1700,24 +1820,28 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1741,24 +1865,28 @@ - punctuation.terminator.statement - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: '=' scopes: - keyword.operator.assignment - source: c1 scopes: + - variable.lower-case - variable.other.unknown.c1 - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: '<<' scopes: @@ -1782,24 +1910,28 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -1829,12 +1961,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: c2 scopes: + - variable.lower-case - variable.other.unknown.c2 - source: ',' scopes: - punctuation.separator.delimiter.comma - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: ) scopes: @@ -1844,12 +1978,14 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: '<<' scopes: @@ -1873,18 +2009,21 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: c3 scopes: + - variable.lower-case - variable.other.unknown.c3 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: diff --git a/language_examples/feature_assembly.spec.yaml b/language_examples/feature_assembly.spec.yaml index 1e562a5a..8f47ef0d 100644 --- a/language_examples/feature_assembly.spec.yaml +++ b/language_examples/feature_assembly.spec.yaml @@ -44,7 +44,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -66,16 +66,22 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: 'n' + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: func scopes: - entity.name.function.call @@ -85,6 +91,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -138,6 +146,7 @@ - punctuation.section.parens.begin.bracket.round.assembly.inner - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ) scopes: @@ -163,6 +172,7 @@ - punctuation.section.parens.begin.bracket.round.assembly.inner - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ) scopes: diff --git a/language_examples/feature_basic_string_sso.spec.yaml b/language_examples/feature_basic_string_sso.spec.yaml index d572f4e1..f9fdf860 100644 --- a/language_examples/feature_basic_string_sso.spec.yaml +++ b/language_examples/feature_basic_string_sso.spec.yaml @@ -289,6 +289,7 @@ - storage.type.built-in - source: SSO_size scopes: + - variable.snake-case - variable.other.unknown.SSO_size - source: '=' scopes: @@ -320,37 +321,54 @@ - source: CharT scopesBegin: - meta.body.class + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: d scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: c scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: s scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -503,7 +521,7 @@ - keyword.operator.assignment - source: Traits scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -519,7 +537,7 @@ - keyword.operator.assignment - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -535,7 +553,7 @@ - keyword.operator.assignment - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -554,7 +572,7 @@ - keyword.other.typename - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -572,7 +590,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -588,7 +606,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -608,7 +626,7 @@ - storage.modifier - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -626,7 +644,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -642,7 +660,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -659,7 +677,7 @@ - keyword.operator.assignment - source: value_type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -681,7 +699,7 @@ - storage.modifier.specifier.const - source: value_type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -703,7 +721,7 @@ - keyword.other.typename - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -721,7 +739,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -737,7 +755,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -757,7 +775,7 @@ - storage.modifier - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -775,7 +793,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -791,7 +809,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -808,7 +826,7 @@ - keyword.operator.assignment - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -830,7 +848,7 @@ - storage.modifier.specifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -849,7 +867,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -866,13 +884,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -888,7 +906,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -905,13 +923,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -930,6 +948,7 @@ - storage.type.built-in - source: npos scopes: + - variable.lower-case - variable.other.unknown.npos - source: '=' scopes: @@ -953,10 +972,10 @@ - storage.type.modifier.access.control.private - source: static_assert scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: std scopes: - entity.name.scope-resolution @@ -972,10 +991,11 @@ - keyword.operator.comparison - source: value_type scopes: + - variable.snake-case - variable.other.unknown.value_type - source: ',' scopesBegin: - - meta.static_assert.message + - meta.static-assert.message scopes: - punctuation.separator.delimiter.comma - source: 'typename Traits::char_type>,' @@ -989,20 +1009,20 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.static_assert.message + - meta.static-assert.message - string.quoted.double - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement - source: static_assert scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: std scopes: - entity.name.scope-resolution @@ -1018,13 +1038,14 @@ - keyword.operator.comparison - source: value_type scopes: + - variable.snake-case - variable.other.unknown.value_type - source: '>' scopes: - keyword.operator.comparison - source: ',' scopesBegin: - - meta.static_assert.message + - meta.static-assert.message scopes: - punctuation.separator.delimiter.comma - source: '"' @@ -1037,11 +1058,11 @@ scopes: - punctuation.definition.string.end scopesEnd: - - meta.static_assert.message + - meta.static-assert.message - string.quoted.double - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement @@ -1066,7 +1087,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1083,13 +1104,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -1105,7 +1126,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1122,20 +1143,20 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: Traits scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -1151,7 +1172,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1169,13 +1190,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ; scopes: @@ -1183,6 +1204,8 @@ scopesEnd: - meta.declaration.type.alias - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: static @@ -1190,15 +1213,19 @@ - storage.modifier.specifier.static - source: size_t scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: _SSO_Cap + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown._SSO_Cap - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -1215,6 +1242,7 @@ - punctuation.separator.scope-resolution - source: SSO_size scopes: + - variable.snake-case - variable.other.unknown.SSO_size - source: < scopes: @@ -1225,10 +1253,14 @@ - source: '>' scopes: - keyword.operator.comparison + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: static @@ -1236,15 +1268,19 @@ - storage.modifier.specifier.static - source: size_t scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: _size_mask + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown._size_mask - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -1297,6 +1333,7 @@ - punctuation.separator.scope-resolution - source: digits scopes: + - variable.lower-case - variable.other.unknown.digits - source: '-' scopes: @@ -1320,6 +1357,8 @@ - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -1339,37 +1378,54 @@ - source: CharT scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: data scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: capacity scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: size scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1417,12 +1473,18 @@ scopes: - punctuation.terminator.statement - source: _UCharT + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: remain scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1438,10 +1500,10 @@ - meta.block.struct - source: static_assert scopes: - - keyword.other.static_assert + - keyword.other.static-assert - source: ( scopes: - - punctuation.section.arguments.begin.bracket.round.static_assert + - punctuation.section.arguments.begin.bracket.round.static-assert - source: sizeof scopes: - keyword.operator.functionlike @@ -1475,7 +1537,7 @@ - punctuation.section.arguments.end.bracket.round.operator.sizeof - source: ) scopes: - - punctuation.section.arguments.end.bracket.round.static_assert + - punctuation.section.arguments.end.bracket.round.static-assert - source: ; scopes: - punctuation.terminator.statement @@ -1495,22 +1557,31 @@ - source: _long scopesBegin: - meta.body.union + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: _l scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown._l + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: _short + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: _s scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown._s + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1534,7 +1605,8 @@ - comment.line.double-slash - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1551,24 +1623,27 @@ - punctuation.section.angle-brackets.begin.template.call - source: _rep scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: __string scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.__string + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1587,7 +1662,7 @@ - storage.modifier.constexpr - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: __is_long @@ -1664,7 +1739,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -1708,7 +1783,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: _UCharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -1722,6 +1797,7 @@ - punctuation.separator.scope-resolution - source: digits scopes: + - variable.lower-case - variable.other.unknown.digits - source: '-' scopes: @@ -1760,7 +1836,7 @@ - storage.modifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -1840,7 +1916,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -1902,7 +1978,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -1938,7 +2014,7 @@ - storage.modifier.constexpr - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -2015,7 +2091,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -2077,7 +2153,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -2113,7 +2189,7 @@ - storage.modifier.constexpr - source: size_t scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: __capacity @@ -2191,7 +2267,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -2217,7 +2293,7 @@ - storage.modifier.constexpr - source: size_t scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: __size @@ -2310,7 +2386,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -2332,16 +2408,23 @@ scopesEnd: - meta.block - source: size_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: remain + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -2381,13 +2464,15 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access - source: remain scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -2402,6 +2487,7 @@ - keyword.operator.arithmetic - source: remain scopes: + - variable.lower-case - variable.other.unknown.remain - source: ; scopes: @@ -2416,7 +2502,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Set_long_size @@ -2489,7 +2575,7 @@ - punctuation.separator.dot-access - source: _l scopes: - - variable.other.object.property + - variable.other.unknown._l - source: . scopes: - punctuation.separator.dot-access @@ -2501,6 +2587,7 @@ - keyword.operator.assignment - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: '|' scopes: @@ -2537,7 +2624,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Set_short_size @@ -2610,7 +2697,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -2628,6 +2715,7 @@ - keyword.operator.arithmetic - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: ; scopes: @@ -2665,7 +2753,7 @@ - storage.modifier.constexpr - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Set_size @@ -2716,18 +2804,25 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: small + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: preserve scopes: + - variable.lower-case - variable.other.unknown.preserve - source: '?' scopes: @@ -2749,6 +2844,7 @@ - keyword.operator.ternary - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: <= scopes: @@ -2756,6 +2852,8 @@ - source: _SSO_Cap scopes: - variable.other.unknown._SSO_Cap + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -2769,6 +2867,7 @@ - punctuation.section.parens.begin.bracket.round - source: small scopes: + - variable.lower-case - variable.other.unknown.small - source: ) scopes: @@ -2788,6 +2887,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: ) scopes: @@ -2816,6 +2916,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: ) scopes: @@ -2846,7 +2947,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: __capacity_from_count @@ -2901,6 +3002,7 @@ - punctuation.section.parens.begin.bracket.round - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: <= scopes: @@ -2937,6 +3039,7 @@ - keyword.control.return - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: '|' scopes: @@ -2954,7 +3057,7 @@ - meta.body.function.definition - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -3000,6 +3103,7 @@ - punctuation.section.parens.begin.bracket.round - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: '>' scopes: @@ -3018,15 +3122,22 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: size_type + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: capacity + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __capacity_from_count scopes: - entity.name.function.call @@ -3035,10 +3146,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -3142,6 +3256,7 @@ - punctuation.separator.delimiter.comma - source: capacity scopes: + - variable.lower-case - variable.other.unknown.capacity - source: + scopes: @@ -3157,12 +3272,14 @@ - punctuation.separator.delimiter.comma - source: capacity scopes: + - variable.lower-case - variable.other.unknown.capacity - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: '|' scopes: @@ -3258,7 +3375,7 @@ - punctuation.separator.dot-access - source: _s scopes: - - variable.other.object.property + - variable.other.unknown._s - source: . scopes: - punctuation.separator.dot-access @@ -3276,6 +3393,7 @@ - keyword.operator.arithmetic - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ; scopes: @@ -3307,7 +3425,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Deallocate @@ -3465,7 +3583,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Set_contents @@ -3565,6 +3683,7 @@ - meta.parens - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: '!=' scopes: @@ -3610,18 +3729,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: contents scopes: + - variable.lower-case - variable.other.unknown.contents - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -3652,6 +3774,7 @@ - punctuation.definition.begin.bracket.square - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ']' scopes: @@ -3684,6 +3807,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ',' scopes: @@ -3704,7 +3828,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Set_contents @@ -3772,12 +3896,14 @@ - punctuation.separator.delimiter.comma - source: contents scopes: + - variable.lower-case - variable.other.unknown.contents - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -3803,7 +3929,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Resize @@ -3839,6 +3965,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.snake-case - variable.other.unknown.new_cap - source: '=' scopes: @@ -3851,6 +3978,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: new_cap scopes: + - variable.snake-case - variable.other.unknown.new_cap - source: ) scopes: @@ -3859,16 +3987,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _Sat scopes: - entity.name.scope-resolution @@ -3921,6 +4056,7 @@ - punctuation.separator.delimiter.comma - source: new_cap scopes: + - variable.snake-case - variable.other.unknown.new_cap - source: + scopes: @@ -3931,6 +4067,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -3942,6 +4080,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: @@ -4041,12 +4180,14 @@ - punctuation.section.block.begin.bracket.curly - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: new_cap scopes: + - variable.snake-case - variable.other.unknown.new_cap - source: ',' scopes: @@ -4097,7 +4238,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Push_back @@ -4131,16 +4272,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: size + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __size scopes: - entity.name.function.call @@ -4150,6 +4297,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4163,6 +4312,7 @@ - punctuation.section.parens.begin.bracket.round - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: < scopes: @@ -4187,16 +4337,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __data scopes: - entity.name.function.call @@ -4206,6 +4363,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4232,6 +4391,7 @@ - punctuation.definition.begin.bracket.square - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: ']' scopes: @@ -4243,6 +4403,7 @@ - punctuation.separator.delimiter.comma - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ) scopes: @@ -4273,6 +4434,7 @@ - punctuation.definition.begin.bracket.square - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: + scopes: @@ -4311,6 +4473,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: + scopes: @@ -4346,16 +4509,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: old_cap + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __capacity scopes: - entity.name.function.call @@ -4365,6 +4535,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4377,18 +4549,26 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: new_cap + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: old_cap scopes: + - variable.snake-case - variable.other.unknown.old_cap - source: + scopes: @@ -4400,6 +4580,7 @@ - punctuation.section.parens.begin.bracket.round - source: old_cap scopes: + - variable.snake-case - variable.other.unknown.old_cap - source: '>>' scopes: @@ -4422,6 +4603,7 @@ - punctuation.section.parens.begin.bracket.round - source: old_cap scopes: + - variable.snake-case - variable.other.unknown.old_cap - source: '&' scopes: @@ -4433,6 +4615,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -4445,6 +4628,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: new_cap scopes: + - variable.snake-case - variable.other.unknown.new_cap - source: ) scopes: @@ -4460,6 +4644,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ) scopes: @@ -4517,7 +4702,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Insert_no_resize @@ -4570,16 +4755,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: distance + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -4595,30 +4786,41 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __data scopes: - entity.name.function.call @@ -4628,6 +4830,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4646,30 +4850,35 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: + scopes: - keyword.operator.arithmetic - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: + scopes: - keyword.operator.arithmetic - source: distance scopes: + - variable.lower-case - variable.other.unknown.distance - source: ',' scopes: - punctuation.separator.delimiter.comma - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: + scopes: - keyword.operator.arithmetic - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -4688,6 +4897,7 @@ - keyword.operator.arithmetic - source: distance scopes: + - variable.lower-case - variable.other.unknown.distance - source: ) scopes: @@ -4705,12 +4915,14 @@ - punctuation.section.parens.begin.bracket.round - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: @@ -4745,6 +4957,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -4759,6 +4972,7 @@ - keyword.operator.arithmetic - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ) scopes: @@ -4771,6 +4985,7 @@ - keyword.operator.increment - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -4780,6 +4995,7 @@ - keyword.operator.increment - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ; scopes: @@ -4809,6 +5025,7 @@ - keyword.operator.arithmetic - source: distance scopes: + - variable.lower-case - variable.other.unknown.distance - source: ) scopes: @@ -4910,7 +5127,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Insert_resize @@ -4963,16 +5180,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: distance + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -4988,30 +5211,41 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: old_buf + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __data scopes: - entity.name.function.call @@ -5021,6 +5255,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5037,16 +5273,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: new_cap + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __capacity_from_count scopes: - entity.name.function.call @@ -5067,24 +5310,34 @@ - keyword.operator.arithmetic - source: distance scopes: + - variable.lower-case - variable.other.unknown.distance - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: new_buf + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _Sat scopes: - entity.name.scope-resolution @@ -5137,6 +5390,7 @@ - punctuation.separator.delimiter.comma - source: new_cap scopes: + - variable.snake-case - variable.other.unknown.new_cap - source: + scopes: @@ -5147,6 +5401,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5173,18 +5429,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: new_buf scopes: + - variable.snake-case - variable.other.unknown.new_buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: old_buf scopes: + - variable.snake-case - variable.other.unknown.old_buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -5202,12 +5461,14 @@ - punctuation.section.parens.begin.bracket.round - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: @@ -5242,6 +5503,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -5256,6 +5518,7 @@ - keyword.operator.arithmetic - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ) scopes: @@ -5268,6 +5531,7 @@ - keyword.operator.increment - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -5277,6 +5541,7 @@ - keyword.operator.increment - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ; scopes: @@ -5309,30 +5574,35 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: new_buf scopes: + - variable.snake-case - variable.other.unknown.new_buf - source: + scopes: - keyword.operator.arithmetic - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: + scopes: - keyword.operator.arithmetic - source: distance scopes: + - variable.lower-case - variable.other.unknown.distance - source: ',' scopes: - punctuation.separator.delimiter.comma - source: old_buf scopes: + - variable.snake-case - variable.other.unknown.old_buf - source: + scopes: - keyword.operator.arithmetic - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -5351,6 +5621,7 @@ - keyword.operator.arithmetic - source: distance scopes: + - variable.lower-case - variable.other.unknown.distance - source: ) scopes: @@ -5420,12 +5691,14 @@ - punctuation.section.block.begin.bracket.curly - source: new_buf scopes: + - variable.snake-case - variable.other.unknown.new_buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: new_cap scopes: + - variable.snake-case - variable.other.unknown.new_cap - source: ',' scopes: @@ -5444,6 +5717,7 @@ - keyword.operator.arithmetic - source: distance scopes: + - variable.lower-case - variable.other.unknown.distance - source: '|' scopes: @@ -5569,7 +5843,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _Insert @@ -5622,16 +5896,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: distance + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -5647,16 +5927,20 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5682,6 +5966,7 @@ - keyword.operator.arithmetic - source: distance scopes: + - variable.lower-case - variable.other.unknown.distance - source: '>' scopes: @@ -5713,18 +5998,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: @@ -5753,18 +6041,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: @@ -5795,7 +6086,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: get_allocator scopesBegin: @@ -6026,6 +6317,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -6102,7 +6394,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -6116,7 +6408,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6212,6 +6504,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -6227,18 +6520,24 @@ - source: CharT scopesBegin: - meta.body.function.definition.special.constructor + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -6247,10 +6546,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6270,6 +6572,7 @@ - storage.type.built-in - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: '=' scopes: @@ -6282,18 +6585,21 @@ - punctuation.terminator.statement - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: < scopes: - keyword.operator.comparison - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ++ scopes: @@ -6333,6 +6639,7 @@ - punctuation.definition.begin.bracket.square - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ']' scopes: @@ -6344,6 +6651,7 @@ - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -6379,6 +6687,7 @@ - punctuation.definition.begin.bracket.square - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ']' scopes: @@ -6493,6 +6802,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -6508,18 +6818,25 @@ - source: size_type scopesBegin: - meta.body.function.definition.special.constructor + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -6537,7 +6854,10 @@ - keyword.operator.arithmetic - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6549,6 +6869,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -6564,7 +6885,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -6582,12 +6904,14 @@ - keyword.operator.arithmetic - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -6694,6 +7018,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -6710,6 +7035,7 @@ scopesBegin: - meta.body.function.definition.special.constructor scopes: + - variable.lower-case - variable.other.unknown.count - source: '=' scopes: @@ -6729,7 +7055,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -6747,12 +7074,14 @@ - keyword.operator.arithmetic - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -6768,6 +7097,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -6783,7 +7113,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -6801,12 +7132,14 @@ - keyword.operator.arithmetic - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -6904,6 +7237,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -6926,6 +7260,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -6941,12 +7276,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -7007,7 +7344,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Allocator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7021,7 +7358,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -7110,6 +7447,7 @@ scopesBegin: - meta.parameter.initialization scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: @@ -7129,6 +7467,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -7138,6 +7477,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -7209,7 +7549,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: InputIt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7223,7 +7563,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -7331,6 +7671,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -7374,7 +7715,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: InputIt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7388,6 +7729,7 @@ - punctuation.separator.scope-resolution - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ) scopes: @@ -7400,16 +7742,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -7425,32 +7774,43 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: CharT + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -7459,10 +7819,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7476,12 +7839,14 @@ - punctuation.section.parens.begin.bracket.round - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: @@ -7511,6 +7876,7 @@ - keyword.operator.arithmetic - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: @@ -7520,6 +7886,7 @@ - keyword.operator.arithmetic - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ) scopes: @@ -7532,6 +7899,7 @@ - keyword.operator.increment - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: @@ -7555,6 +7923,7 @@ - keyword.operator.increment - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ; scopes: @@ -7587,6 +7956,7 @@ - punctuation.definition.begin.bracket.square - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ']' scopes: @@ -7648,6 +8018,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc - source: '}' scopes: @@ -7667,12 +8038,14 @@ - punctuation.section.parens.begin.bracket.round - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: @@ -7695,6 +8068,7 @@ - keyword.operator.arithmetic - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ) scopes: @@ -7707,6 +8081,7 @@ - keyword.operator.increment - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ; scopes: @@ -7766,6 +8141,7 @@ scopesBegin: - meta.parameter.initialization scopes: + - variable.lower-case - variable.other.unknown.other - source: ',' scopes: @@ -7858,6 +8234,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -7873,18 +8250,25 @@ - source: size_type scopesBegin: - meta.body.function.definition.special.constructor + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -7897,22 +8281,31 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: CharT + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -7921,10 +8314,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7943,13 +8339,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -7967,6 +8365,7 @@ - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -8040,6 +8439,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: + - variable.lower-case - variable.other.unknown.other - source: ) scopes: @@ -8049,7 +8449,8 @@ - punctuation.separator.delimiter.comma - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -8141,6 +8542,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -8165,13 +8567,15 @@ - punctuation.section.parens.begin.bracket.round - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc - source: '!=' scopes: - keyword.operator.comparison - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -8203,18 +8607,26 @@ scopesEnd: - comment.line.double-slash - source: size_type + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -8227,22 +8639,31 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: CharT + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -8251,10 +8672,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -8273,13 +8697,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -8297,6 +8723,7 @@ - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -8342,6 +8769,7 @@ - keyword.operator.bitwise - source: other scopes: + - variable.lower-case - variable.other.unknown.other - source: ',' scopes: @@ -8356,6 +8784,7 @@ - source: basic_string scopes: - meta.arguments.operator.sizeof + - variable.snake-case - variable.other.unknown.basic_string - source: ) scopes: @@ -8388,7 +8817,8 @@ - comment.line.double-slash - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -8447,7 +8877,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -8504,7 +8934,8 @@ scopesBegin: - meta.parameter.initialization scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -8522,7 +8953,8 @@ - punctuation.separator.delimiter.comma - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -8540,6 +8972,7 @@ - punctuation.separator.delimiter.comma - source: alloc scopes: + - variable.lower-case - variable.other.unknown.alloc scopesEnd: - meta.parameter.initialization @@ -8610,7 +9043,7 @@ - punctuation.separator.scope-resolution.template.call - source: is_convertible_v scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -8623,7 +9056,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -8633,13 +9066,13 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -8739,34 +9172,51 @@ - source: _Sv scopesBegin: - meta.body.function.definition.special.constructor + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: cv + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: t scopes: + - variable.lower-case - variable.other.unknown.t + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: size_type + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: cv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cv - source: . scopes: - punctuation.separator.dot-access @@ -8779,6 +9229,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -8790,6 +9242,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -8805,7 +9258,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cv - source: . scopes: - punctuation.separator.dot-access @@ -8823,6 +9277,7 @@ - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -8889,7 +9344,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -8899,7 +9354,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -8913,7 +9368,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -9038,6 +9493,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: ) scopes: @@ -9053,12 +9509,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ) scopes: @@ -9129,7 +9587,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -9194,6 +9652,7 @@ - keyword.operator.bitwise - source: str scopes: + - variable.lower-case - variable.other.unknown.str - source: ) scopes: @@ -9250,7 +9709,8 @@ - keyword.operator.comparison - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -9293,7 +9753,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -9325,7 +9786,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -9343,7 +9805,8 @@ - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -9382,7 +9845,7 @@ - meta.body.function.definition.special.operator-overload - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -9445,6 +9908,7 @@ - punctuation.separator.scope-resolution - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '||' scopes: @@ -9465,6 +9929,7 @@ - punctuation.separator.scope-resolution - source: value scopes: + - variable.lower-case - variable.other.unknown.value scopesEnd: - meta.arguments.operator.noexcept @@ -9498,6 +9963,7 @@ - keyword.operator.bitwise - source: other scopes: + - variable.lower-case - variable.other.unknown.other - source: ) scopes: @@ -9548,7 +10014,8 @@ - keyword.operator.comparison - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -9583,6 +10050,7 @@ - punctuation.separator.scope-resolution - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ) scopes: @@ -9595,18 +10063,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: size_type + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -9619,6 +10095,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9630,6 +10108,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -9645,7 +10124,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -9663,6 +10143,7 @@ - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -9700,6 +10181,7 @@ - keyword.operator.bitwise - source: other scopes: + - variable.lower-case - variable.other.unknown.other - source: ',' scopes: @@ -9714,6 +10196,7 @@ - source: basic_string scopes: - meta.arguments.operator.sizeof + - variable.snake-case - variable.other.unknown.basic_string - source: ) scopes: @@ -9726,7 +10209,8 @@ - punctuation.terminator.statement - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -9770,7 +10254,7 @@ - meta.body.function.definition.special.operator-overload - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -9817,15 +10301,21 @@ - source: size_type scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Traits scopes: - entity.name.scope-resolution @@ -9841,10 +10331,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9876,6 +10369,7 @@ - keyword.operator.comparison - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -9907,6 +10401,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -9927,12 +10422,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -9960,7 +10457,7 @@ - meta.body.function.definition.special.operator-overload - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10013,18 +10510,25 @@ scopes: - punctuation.terminator.statement - source: CharT + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -10037,6 +10541,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10074,6 +10580,7 @@ - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -10148,7 +10655,7 @@ - meta.body.function.definition.special.operator-overload - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10185,7 +10692,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -10210,18 +10717,24 @@ - source: CharT scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: __data scopes: - entity.name.function.call @@ -10231,6 +10744,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10262,7 +10777,8 @@ - keyword.operator.comparison - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -10299,6 +10815,7 @@ - punctuation.terminator.statement - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: '=' scopes: @@ -10311,6 +10828,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -10338,13 +10856,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -10362,7 +10882,8 @@ - punctuation.separator.delimiter.comma - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -10404,6 +10925,7 @@ - punctuation.definition.begin.bracket.square - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ']' scopes: @@ -10499,7 +11021,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10509,7 +11031,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -10523,7 +11045,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&&' scopesBegin: @@ -10540,7 +11062,7 @@ - punctuation.separator.scope-resolution.template.call - source: is_convertible_v scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -10553,7 +11075,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10566,7 +11088,7 @@ - storage.modifier.specifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -10575,7 +11097,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -10608,7 +11130,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10667,34 +11189,52 @@ scopes: - punctuation.terminator.statement - source: _Sv + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: cv + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: t scopes: + - variable.lower-case - variable.other.unknown.t + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: size_type + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: cv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cv - source: . scopes: - punctuation.separator.dot-access @@ -10707,22 +11247,31 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: CharT + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -10731,10 +11280,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10746,7 +11298,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cv - source: . scopes: - punctuation.separator.dot-access @@ -10764,6 +11317,7 @@ - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -10782,7 +11336,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10839,18 +11393,25 @@ scopes: - punctuation.terminator.statement - source: CharT + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -10859,10 +11420,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10882,6 +11446,7 @@ - storage.type.built-in - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: '=' scopes: @@ -10894,18 +11459,21 @@ - punctuation.terminator.statement - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: < scopes: - keyword.operator.comparison - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ++ scopes: @@ -10945,6 +11513,7 @@ - punctuation.definition.begin.bracket.square - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ']' scopes: @@ -10956,6 +11525,7 @@ - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -10991,6 +11561,7 @@ - punctuation.definition.begin.bracket.square - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ']' scopes: @@ -11034,7 +11605,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -11089,6 +11660,7 @@ - keyword.operator.assignment - source: str scopes: + - variable.lower-case - variable.other.unknown.str - source: ; scopes: @@ -11100,7 +11672,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -11151,6 +11723,7 @@ - keyword.operator.assignment - source: npos scopes: + - variable.lower-case - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters @@ -11176,7 +11749,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -11188,12 +11762,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -11211,7 +11787,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -11270,6 +11846,7 @@ - punctuation.separator.scope-resolution - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '||' scopes: @@ -11290,6 +11867,7 @@ - punctuation.separator.scope-resolution - source: value scopes: + - variable.lower-case - variable.other.unknown.value scopesEnd: - meta.arguments.operator.noexcept @@ -11330,6 +11908,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: str scopes: + - variable.lower-case - variable.other.unknown.str - source: ) scopes: @@ -11344,7 +11923,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -11405,18 +11984,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: + scopes: - keyword.operator.arithmetic - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -11431,7 +12013,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -11483,6 +12065,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: @@ -11502,6 +12085,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopesBegin: @@ -11567,7 +12151,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: InputIt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -11581,7 +12165,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -11614,7 +12198,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -11699,7 +12283,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: InputIt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -11713,6 +12297,7 @@ - punctuation.separator.scope-resolution - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ) scopes: @@ -11725,16 +12310,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -11750,32 +12342,43 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ',' scopes: - punctuation.separator.delimiter.comma - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: CharT + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: buf + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _New_allocate scopes: - entity.name.function.call @@ -11784,10 +12387,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -11801,12 +12407,14 @@ - punctuation.section.parens.begin.bracket.round - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: @@ -11836,6 +12444,7 @@ - keyword.operator.arithmetic - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: @@ -11845,6 +12454,7 @@ - keyword.operator.arithmetic - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ) scopes: @@ -11857,6 +12467,7 @@ - keyword.operator.increment - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: @@ -11880,6 +12491,7 @@ - keyword.operator.increment - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ; scopes: @@ -11931,12 +12543,14 @@ - punctuation.section.parens.begin.bracket.round - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: @@ -11959,6 +12573,7 @@ - keyword.operator.arithmetic - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ) scopes: @@ -11971,6 +12586,7 @@ - keyword.operator.increment - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ; scopes: @@ -12038,7 +12654,7 @@ - punctuation.separator.scope-resolution.template.call - source: is_convertible_v scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -12051,7 +12667,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -12061,13 +12677,13 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ',' scopes: @@ -12100,7 +12716,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -12224,7 +12840,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -12234,7 +12850,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -12248,7 +12864,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -12281,7 +12897,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -12384,6 +13000,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: ) scopes: @@ -12399,12 +13016,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ) scopes: @@ -12422,7 +13041,7 @@ - meta.body.function.definition - source: reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: at scopesBegin: @@ -12464,6 +13083,7 @@ - punctuation.section.parens.begin.bracket.round - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: '>=' scopes: @@ -12544,6 +13164,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -12560,7 +13181,7 @@ - meta.body.function.definition - source: const_reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: at scopesBegin: @@ -12605,6 +13226,7 @@ - punctuation.section.parens.begin.bracket.round - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: '>=' scopes: @@ -12685,6 +13307,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -12704,7 +13327,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -12760,6 +13383,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -12777,7 +13401,7 @@ - meta.body.function.definition.special.operator-overload - source: const_reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -12836,6 +13460,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -12856,7 +13481,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: front scopesBegin: @@ -12911,7 +13536,7 @@ - meta.body.function.definition - source: const_reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: front scopesBegin: @@ -12969,7 +13594,7 @@ - meta.body.function.definition - source: reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: back scopesBegin: @@ -13036,7 +13661,7 @@ - meta.body.function.definition - source: const_reference scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: back scopesBegin: @@ -13106,7 +13731,7 @@ - meta.body.function.definition - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -13157,7 +13782,7 @@ - storage.modifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -13211,7 +13836,7 @@ - storage.modifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -13286,14 +13911,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: Traits scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -13342,14 +13967,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: Traits scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -13398,7 +14023,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: begin scopesBegin: @@ -13443,7 +14068,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: begin scopesBegin: @@ -13491,7 +14116,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: cbegin scopesBegin: @@ -13539,7 +14164,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: end scopesBegin: @@ -13596,7 +14221,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: end scopesBegin: @@ -13656,7 +14281,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: cend scopesBegin: @@ -13716,7 +14341,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: rbegin scopesBegin: @@ -13770,7 +14395,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: rbegin scopesBegin: @@ -13827,7 +14452,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: crbegin scopesBegin: @@ -13884,7 +14509,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: rend scopesBegin: @@ -13950,7 +14575,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: rend scopesBegin: @@ -14019,7 +14644,7 @@ - meta.body.function.definition - source: const_iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: crend scopesBegin: @@ -14101,7 +14726,7 @@ - support.other.attribute - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: empty @@ -14131,7 +14756,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: size scopesBegin: @@ -14179,7 +14804,7 @@ - meta.body.function.definition - source: size_type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: max_size scopesBegin: @@ -14227,7 +14852,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: reserve @@ -14270,6 +14895,7 @@ - punctuation.section.parens.begin.bracket.round - source: new_cap scopes: + - variable.snake-case - variable.other.unknown.new_cap - source: '>' scopes: @@ -14301,6 +14927,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: new_cap scopes: + - variable.snake-case - variable.other.unknown.new_cap - source: ) scopes: @@ -14320,7 +14947,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: reserve @@ -14360,7 +14987,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: capacity scopesBegin: @@ -14405,7 +15032,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: shrink_to_fit @@ -14499,7 +15126,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: clear @@ -14548,7 +15175,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -14609,6 +15236,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: @@ -14621,6 +15249,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -14636,12 +15265,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopesBegin: @@ -14671,7 +15302,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -14722,16 +15353,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: distance + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: traits_type scopes: - entity.name.scope-resolution @@ -14747,10 +15384,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14762,24 +15402,28 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: + scopes: - keyword.operator.arithmetic - source: distance scopes: + - variable.lower-case - variable.other.unknown.distance - source: ) scopes: @@ -14806,7 +15450,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -14873,24 +15517,28 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: + scopes: - keyword.operator.arithmetic - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -14917,7 +15565,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -14975,13 +15623,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -14999,7 +15649,8 @@ - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -15037,7 +15688,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -15097,6 +15748,7 @@ - keyword.operator.assignment - source: npos scopes: + - variable.lower-case - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters @@ -15113,6 +15765,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.count - source: '=' scopes: @@ -15132,13 +15785,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ',' scopes: - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -15156,6 +15811,7 @@ - keyword.operator.arithmetic - source: index_str scopes: + - variable.snake-case - variable.other.unknown.index_str - source: ) scopes: @@ -15171,13 +15827,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -15195,13 +15853,15 @@ - keyword.operator.arithmetic - source: index_str scopes: + - variable.snake-case - variable.other.unknown.index_str - source: ',' scopes: - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -15219,12 +15879,14 @@ - keyword.operator.arithmetic - source: index_str scopes: + - variable.snake-case - variable.other.unknown.index_str - source: + scopes: - keyword.operator.arithmetic - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -15251,7 +15913,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: insert scopesBegin: @@ -15303,6 +15965,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: '-' scopes: @@ -15321,6 +15984,7 @@ - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ',' scopes: @@ -15341,7 +16005,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: insert scopesBegin: @@ -15402,6 +16066,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: '-' scopes: @@ -15420,12 +16085,14 @@ - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: @@ -15488,7 +16155,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: InputIt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -15502,7 +16169,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -15535,7 +16202,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: insert scopesBegin: @@ -15602,6 +16269,7 @@ - punctuation.section.parens.begin.bracket.round - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: '==' scopes: @@ -15635,12 +16303,14 @@ - punctuation.section.parens.begin.bracket.round - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: @@ -15663,6 +16333,7 @@ - keyword.operator.arithmetic - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ) scopes: @@ -15675,6 +16346,7 @@ - keyword.operator.increment - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ; scopes: @@ -15698,18 +16370,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: indx + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: '-' scopes: @@ -15723,6 +16403,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15736,12 +16418,14 @@ - punctuation.section.parens.begin.bracket.round - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: '!=' scopes: - keyword.operator.comparison - source: last scopes: + - variable.lower-case - variable.other.unknown.last - source: ) scopes: @@ -15754,22 +16438,32 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ch + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '*' scopes: - keyword.operator.arithmetic - source: first scopes: + - variable.lower-case - variable.other.unknown.first + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15781,6 +16475,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: indx scopes: + - variable.lower-case - variable.other.unknown.indx - source: ',' scopes: @@ -15793,6 +16488,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -15808,6 +16504,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ',' scopes: @@ -15829,6 +16526,7 @@ - keyword.operator.increment - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ',' scopes: @@ -15852,6 +16550,7 @@ - keyword.operator.increment - source: indx scopes: + - variable.lower-case - variable.other.unknown.indx - source: ; scopes: @@ -15885,7 +16584,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: insert scopesBegin: @@ -15924,7 +16623,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -15955,6 +16654,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: '-' scopes: @@ -15973,7 +16673,8 @@ - punctuation.separator.delimiter.comma - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -15991,7 +16692,8 @@ - punctuation.separator.delimiter.comma - source: ilist scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ilist - source: . scopes: - punctuation.separator.dot-access @@ -16080,7 +16782,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -16090,7 +16792,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -16104,7 +16806,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&&' scopesBegin: @@ -16133,7 +16835,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -16146,7 +16848,7 @@ - storage.modifier.specifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -16163,7 +16865,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -16196,7 +16898,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -16247,18 +16949,27 @@ - source: _Sv scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: sv + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: t scopes: + - variable.lower-case - variable.other.unknown.t + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -16273,13 +16984,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: sv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.sv - source: . scopes: - punctuation.separator.dot-access @@ -16297,7 +17010,8 @@ - punctuation.separator.delimiter.comma - source: sv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.sv - source: . scopes: - punctuation.separator.dot-access @@ -16374,7 +17088,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -16384,7 +17098,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: _Sv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -16398,7 +17112,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&&' scopesBegin: @@ -16427,7 +17141,7 @@ - storage.modifier.specifier.const - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -16440,7 +17154,7 @@ - storage.modifier.specifier.const - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -16457,7 +17171,7 @@ - punctuation.separator.scope-resolution.template.call - source: value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -16490,7 +17204,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -16550,6 +17264,7 @@ - keyword.operator.assignment - source: npos scopes: + - variable.lower-case - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters @@ -16565,15 +17280,21 @@ - source: _Sv scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: sv + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: _Sv scopes: - entity.name.function.call @@ -16582,6 +17303,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: ) scopes: @@ -16597,16 +17319,20 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: index_str scopes: + - variable.snake-case - variable.other.unknown.index_str - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -16621,13 +17347,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: sv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.sv - source: . scopes: - punctuation.separator.dot-access @@ -16645,7 +17373,8 @@ - punctuation.separator.delimiter.comma - source: sv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.sv - source: . scopes: - punctuation.separator.dot-access @@ -16671,7 +17400,7 @@ - meta.body.function.definition - source: basic_string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -16713,6 +17442,7 @@ - keyword.operator.assignment - source: npos scopes: + - variable.lower-case - variable.other.unknown.npos scopesEnd: - meta.function.definition.parameters @@ -16729,6 +17459,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.count - source: '=' scopes: @@ -16748,6 +17479,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ',' scopes: @@ -16766,6 +17498,7 @@ - keyword.operator.arithmetic - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ) scopes: @@ -16783,6 +17516,7 @@ - punctuation.section.parens.begin.bracket.round - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: '==' scopes: @@ -16824,7 +17558,7 @@ - meta.body.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: erase scopesBegin: @@ -16860,7 +17594,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: iterator scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: erase scopesBegin: diff --git a/language_examples/feature_consteval.spec.yaml b/language_examples/feature_consteval.spec.yaml index 9e1607cb..187ef157 100644 --- a/language_examples/feature_consteval.spec.yaml +++ b/language_examples/feature_consteval.spec.yaml @@ -17,7 +17,7 @@ - storage.modifier.constexpr - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: sqr @@ -56,12 +56,14 @@ - keyword.control.return - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '*' scopes: - keyword.operator.arithmetic - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ; scopes: @@ -76,7 +78,7 @@ - storage.modifier.consteval - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: sqr2 @@ -115,12 +117,14 @@ - keyword.control.return - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '*' scopes: - keyword.operator.arithmetic - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ; scopes: diff --git a/language_examples/feature_constinit.spec.yaml b/language_examples/feature_constinit.spec.yaml index 504af42f..95a71f26 100644 --- a/language_examples/feature_constinit.spec.yaml +++ b/language_examples/feature_constinit.spec.yaml @@ -10,7 +10,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -46,6 +46,7 @@ - keyword.operator.arithmetic - source: c scopes: + - variable.lower-case - variable.other.unknown.c - source: '=' scopes: @@ -86,6 +87,7 @@ - storage.type.built-in.primitive - source: x scopes: + - variable.lower-case - variable.other.unknown.x - source: ; scopes: diff --git a/language_examples/feature_doxygen.spec.yaml b/language_examples/feature_doxygen.spec.yaml index 3ab54f87..7e6943da 100644 --- a/language_examples/feature_doxygen.spec.yaml +++ b/language_examples/feature_doxygen.spec.yaml @@ -63,7 +63,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: test @@ -200,6 +200,7 @@ - storage.type.built-in.primitive - source: var scopes: + - variable.lower-case - variable.other.unknown.var - source: ; scopes: @@ -257,7 +258,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: cstyle @@ -330,7 +331,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: javadocBanner @@ -447,7 +448,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: doxygenBanner @@ -642,6 +643,7 @@ - keyword.operator.arithmetic - source: enumPtr scopes: + - variable.camel-case - variable.other.unknown.enumPtr - source: ',' scopes: @@ -667,6 +669,7 @@ - comment.block.documentation - source: enumVar scopes: + - variable.camel-case - variable.other.unknown.enumVar scopesEnd: - meta.tail.enum @@ -796,7 +799,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: testMe @@ -888,7 +891,7 @@ - storage.modifier.virtual - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: testMeToo @@ -957,13 +960,19 @@ scopesEnd: - comment.block.documentation - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: publicVar scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -988,7 +997,7 @@ - comment.block.documentation - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( diff --git a/language_examples/feature_operator_overload.spec.yaml b/language_examples/feature_operator_overload.spec.yaml index 211e0e1e..77a96681 100644 --- a/language_examples/feature_operator_overload.spec.yaml +++ b/language_examples/feature_operator_overload.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -73,7 +73,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -144,7 +144,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -215,7 +215,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -289,7 +289,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -323,7 +323,7 @@ - punctuation.separator.delimiter.comma - source: ostream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -411,14 +411,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: CharT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: Traits scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -611,7 +611,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -711,7 +711,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: lhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.lhs - source: . scopes: - punctuation.separator.dot-access @@ -723,7 +724,8 @@ - punctuation.separator.delimiter.comma - source: rhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rhs - source: . scopes: - punctuation.separator.dot-access @@ -744,7 +746,8 @@ scopesBegin: - meta.arguments.operator.sizeof scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.lhs - source: . scopes: - punctuation.separator.dot-access @@ -787,7 +790,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -830,7 +833,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -872,7 +875,7 @@ - source: std scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -883,7 +886,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: operator scopesBegin: - meta.head.function.definition.special.operator-overload @@ -942,7 +945,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator diff --git a/language_examples/feature_parameters.spec.yaml b/language_examples/feature_parameters.spec.yaml index db89d772..6933e325 100644 --- a/language_examples/feature_parameters.spec.yaml +++ b/language_examples/feature_parameters.spec.yaml @@ -76,6 +76,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -88,7 +89,7 @@ - punctuation.terminator.statement - source: Type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -124,7 +125,7 @@ - punctuation.terminator.statement - source: Type scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -175,7 +176,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func1 @@ -191,7 +192,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -237,6 +238,7 @@ - keyword.operator.assignment - source: fn_ptr2 scopes: + - variable.snake-case - variable.other.unknown.fn_ptr2 scopesEnd: - meta.function.definition.parameters @@ -262,7 +264,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func2 @@ -278,7 +280,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -314,6 +316,7 @@ - keyword.operator.assignment - source: fn_ptr scopes: + - variable.snake-case - variable.other.unknown.fn_ptr scopesEnd: - meta.function.definition.parameters @@ -339,7 +342,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func3 @@ -355,7 +358,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -410,7 +413,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func4 @@ -426,7 +429,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -482,7 +485,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func5 @@ -507,6 +510,7 @@ - keyword.operator.assignment - source: a scopes: + - variable.lower-case - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters @@ -532,7 +536,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func6 @@ -554,6 +558,7 @@ - keyword.operator.assignment - source: a scopes: + - variable.lower-case - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters @@ -579,7 +584,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func7 @@ -623,7 +628,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func8 @@ -660,7 +665,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func9 @@ -692,7 +697,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func11 @@ -708,7 +713,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -754,6 +759,7 @@ - keyword.operator.assignment - source: fn_ptr2 scopes: + - variable.snake-case - variable.other.unknown.fn_ptr2 scopesEnd: - meta.function.definition.parameters @@ -779,7 +785,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func12 @@ -795,7 +801,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -831,6 +837,7 @@ - keyword.operator.assignment - source: fn_ptr scopes: + - variable.snake-case - variable.other.unknown.fn_ptr scopesEnd: - meta.function.definition.parameters @@ -856,7 +863,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func13 @@ -872,7 +879,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -927,7 +934,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func14 @@ -943,7 +950,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -999,7 +1006,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func15 @@ -1024,6 +1031,7 @@ - keyword.operator.assignment - source: a scopes: + - variable.lower-case - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters @@ -1049,7 +1057,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func16 @@ -1071,6 +1079,7 @@ - keyword.operator.assignment - source: a scopes: + - variable.lower-case - variable.other.unknown.a scopesEnd: - meta.function.definition.parameters @@ -1096,7 +1105,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func17 @@ -1140,7 +1149,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func18 @@ -1177,7 +1186,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func19 @@ -1209,7 +1218,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func20 @@ -1259,7 +1268,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func21 @@ -1309,7 +1318,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func22 @@ -1367,7 +1376,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func23 @@ -1411,7 +1420,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func24 @@ -1456,7 +1465,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func25 @@ -1505,7 +1514,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func26 @@ -1553,7 +1562,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func27 @@ -1569,7 +1578,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( @@ -1695,14 +1704,14 @@ - source: class scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - storage.type.class - source: Node scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer @@ -1779,14 +1788,14 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: class scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - storage.type.class - source: Node scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer @@ -1878,14 +1887,14 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: class scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - storage.type.class - source: Node scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer @@ -2027,7 +2036,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: internalConversionToFuncPtr @@ -2058,7 +2067,7 @@ - punctuation.separator.delimiter.comma - source: Ret scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -2102,7 +2111,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: failedToLoadCriticalData @@ -2168,7 +2177,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: failedToLoadCriticalData @@ -2246,7 +2255,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: aFunction @@ -2283,7 +2292,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -2321,7 +2330,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -2395,6 +2404,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: diff --git a/language_examples/feature_preprocessor.spec.yaml b/language_examples/feature_preprocessor.spec.yaml index d16ec720..be15e870 100644 --- a/language_examples/feature_preprocessor.spec.yaml +++ b/language_examples/feature_preprocessor.spec.yaml @@ -52,6 +52,7 @@ - entity.name.function.preprocessor - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: '{' scopesBegin: @@ -94,11 +95,15 @@ scopes: - punctuation.definition.parameters.end.preprocessor - source: arg1 + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.arg1 - source: arg2 scopes: - variable.other.unknown.arg2 + scopesEnd: + - variable.lower-case - source: '#' scopesBegin: - keyword.control.directive.define @@ -485,19 +490,26 @@ scopes: - constant.character.escape.line-continuation - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: data scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare - source: ',' scopes: - punctuation.separator.delimiter.comma - source: members scopes: + - variable.lower-case - variable.other.unknown.members + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -505,13 +517,19 @@ scopes: - constant.character.escape.line-continuation - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: other scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -628,7 +646,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: __VA_ARGS__ scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -649,6 +667,8 @@ scopes: - constant.character.escape.line-continuation - source: static + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.static - source: const @@ -656,18 +676,25 @@ - storage.modifier.specifier.const - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: isPoint + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -712,6 +739,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: T scopes: + - variable.upper-case - variable.other.unknown.T - source: ) scopes: @@ -755,7 +783,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -768,7 +796,7 @@ - storage.type.modifier.access.public - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -779,7 +807,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: \ scopes: - constant.character.escape.line-continuation @@ -851,6 +879,7 @@ - entity.name.function.preprocessor - source: test2 scopes: + - variable.lower-case - variable.other.unknown.test2 - source: /* scopesBegin: @@ -924,6 +953,7 @@ - source: BB scopes: - meta.tail.enum + - variable.upper-case - variable.other.unknown.BB - source: ; scopes: diff --git a/language_examples/feature_tagged_strings.spec.yaml b/language_examples/feature_tagged_strings.spec.yaml index 637b2a6b..d3850661 100644 --- a/language_examples/feature_tagged_strings.spec.yaml +++ b/language_examples/feature_tagged_strings.spec.yaml @@ -4,6 +4,7 @@ - storage.type.built-in.primitive - source: re_pattern scopes: + - variable.snake-case - variable.other.unknown.re_pattern - source: '=' scopes: @@ -32,6 +33,7 @@ - storage.type.built-in.primitive - source: re_pattern scopes: + - variable.snake-case - variable.other.unknown.re_pattern - source: '=' scopes: @@ -60,6 +62,7 @@ - storage.type.built-in.primitive - source: re_pattern scopes: + - variable.snake-case - variable.other.unknown.re_pattern - source: '=' scopes: diff --git a/language_examples/feature_thread_local.spec.yaml b/language_examples/feature_thread_local.spec.yaml index 13cfbcb4..30b1c79e 100644 --- a/language_examples/feature_thread_local.spec.yaml +++ b/language_examples/feature_thread_local.spec.yaml @@ -23,7 +23,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -45,6 +45,7 @@ - source: static scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - storage.modifier.specifier.static - source: thread_local @@ -52,18 +53,25 @@ - storage.modifier.specifier.thread_local - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bar + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -72,6 +80,7 @@ - keyword.control.return - source: bar scopes: + - variable.lower-case - variable.other.unknown.bar - source: ; scopes: diff --git a/language_examples/feature_trailing_return_types.spec.yaml b/language_examples/feature_trailing_return_types.spec.yaml index 225faf54..4f1ea454 100644 --- a/language_examples/feature_trailing_return_types.spec.yaml +++ b/language_examples/feature_trailing_return_types.spec.yaml @@ -129,6 +129,7 @@ - storage.type.built-in.primitive - source: Start_Value scopes: + - variable.snake-case - variable.other.unknown.Start_Value - source: '=' scopes: @@ -145,6 +146,7 @@ - storage.type.built-in.primitive - source: End_Value scopes: + - variable.snake-case - variable.other.unknown.End_Value - source: '=' scopes: @@ -173,6 +175,7 @@ - storage.type.built-in.primitive - source: Start_Value scopes: + - variable.snake-case - variable.other.unknown.Start_Value - source: '=' scopes: @@ -199,6 +202,7 @@ - storage.type.built-in.primitive - source: End_Value scopes: + - variable.snake-case - variable.other.unknown.End_Value - source: '=' scopes: @@ -239,6 +243,7 @@ - keyword.operator.assignment - source: Start_Value scopes: + - variable.snake-case - variable.other.unknown.Start_Value - source: ; scopes: @@ -251,6 +256,7 @@ - keyword.operator.comparison - source: End_Value scopes: + - variable.snake-case - variable.other.unknown.End_Value - source: ; scopes: @@ -379,6 +385,7 @@ - source: a scopes: - meta.arguments.decltype + - variable.lower-case - variable.other.unknown.a - source: ) scopes: @@ -397,6 +404,7 @@ - source: b scopes: - meta.arguments.decltype + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -412,12 +420,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -428,7 +438,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EndOfStream @@ -474,7 +484,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -552,6 +563,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ; scopes: @@ -578,6 +590,7 @@ - punctuation.definition.begin.bracket.square - source: MAX_N_SIZE scopes: + - variable.upper-case - variable.other.unknown.MAX_N_SIZE - source: ']' scopes: @@ -587,6 +600,7 @@ - punctuation.definition.begin.bracket.square - source: MAX_N_SIZE scopes: + - variable.upper-case - variable.other.unknown.MAX_N_SIZE - source: ']' scopes: @@ -616,7 +630,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: U @@ -661,69 +675,106 @@ - source: double scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: itemIndex + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: r scopes: + - variable.lower-case - variable.other.unknown.r + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: itemRelativeRank + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: s scopes: + - variable.lower-case - variable.other.unknown.s + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: totalNumberOfItems + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: nextItemIndex + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: itemIndex scopes: + - variable.camel-case - variable.other.unknown.itemIndex - source: + scopes: @@ -731,43 +782,63 @@ - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: numberOfRemainingItems + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: totalNumberOfItems scopes: + - variable.camel-case - variable.other.unknown.totalNumberOfItems - source: '-' scopes: - keyword.operator.arithmetic - source: itemIndex scopes: + - variable.camel-case - variable.other.unknown.itemIndex + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: probabilityOfBeingBetterThanCurrentItem + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -775,34 +846,45 @@ - punctuation.section.parens.begin.bracket.round - source: itemRelativeRank scopes: + - variable.camel-case - variable.other.unknown.itemRelativeRank - source: / scopes: - keyword.operator.arithmetic - source: nextItemIndex scopes: + - variable.camel-case - variable.other.unknown.nextItemIndex - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: numberOfSeenItemsThatAreBetterThanCurrentItem + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: itemRelativeRank scopes: + - variable.camel-case - variable.other.unknown.itemRelativeRank - source: '-' scopes: @@ -810,35 +892,49 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: expectedAverageRank + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: numberOfRemainingItems scopes: + - variable.camel-case - variable.other.unknown.numberOfRemainingItems - source: '*' scopes: - keyword.operator.arithmetic - source: probabilityOfBeingBetterThanCurrentItem scopes: + - variable.camel-case - variable.other.unknown.probabilityOfBeingBetterThanCurrentItem - source: + scopes: - keyword.operator.arithmetic - source: numberOfSeenItemsThatAreBetterThanCurrentItem scopes: + - variable.camel-case - variable.other.unknown.numberOfSeenItemsThatAreBetterThanCurrentItem + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -860,6 +956,7 @@ - punctuation.section.parens.begin.bracket.round - source: expectedAverageRank scopes: + - variable.camel-case - variable.other.unknown.expectedAverageRank - source: '==' scopes: @@ -879,6 +976,7 @@ - punctuation.section.block.begin.bracket.curly - source: expectedAverageRank scopes: + - variable.camel-case - variable.other.unknown.expectedAverageRank - source: '=' scopes: @@ -895,16 +993,23 @@ scopesEnd: - meta.block - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: expectedValue + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -912,6 +1017,7 @@ - punctuation.section.parens.begin.bracket.round - source: totalNumberOfItems scopes: + - variable.camel-case - variable.other.unknown.totalNumberOfItems - source: + scopes: @@ -929,7 +1035,10 @@ - keyword.operator.arithmetic - source: expectedAverageRank scopes: + - variable.camel-case - variable.other.unknown.expectedAverageRank + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -938,6 +1047,7 @@ - keyword.control.return - source: expectedValue scopes: + - variable.camel-case - variable.other.unknown.expectedValue - source: ; scopes: @@ -949,7 +1059,7 @@ - meta.body.function.definition - source: double scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: V @@ -1001,69 +1111,107 @@ scopesEnd: - comment.line.double-slash - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: itemIndex + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: r scopes: + - variable.lower-case - variable.other.unknown.r + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: itemRelativeRank + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: s scopes: + - variable.lower-case - variable.other.unknown.s + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: totalNumberOfItems + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: nextItemIndex + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: itemIndex scopes: + - variable.camel-case - variable.other.unknown.itemIndex - source: + scopes: @@ -1071,20 +1219,29 @@ - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: output + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal @@ -1093,6 +1250,7 @@ - punctuation.separator.delimiter.comma - source: estimatedValueOfAccepting scopes: + - variable.camel-case - variable.other.unknown.estimatedValueOfAccepting - source: '=' scopes: @@ -1105,6 +1263,7 @@ - punctuation.separator.delimiter.comma - source: estimatedValueOfRejecting scopes: + - variable.camel-case - variable.other.unknown.estimatedValueOfRejecting - source: '=' scopes: @@ -1117,6 +1276,7 @@ - punctuation.separator.delimiter.comma - source: sum scopes: + - variable.lower-case - variable.other.unknown.sum - source: '=' scopes: @@ -1124,6 +1284,8 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -1145,12 +1307,14 @@ - punctuation.section.parens.begin.bracket.round - source: itemIndex scopes: + - variable.camel-case - variable.other.unknown.itemIndex - source: '>' scopes: - keyword.operator.comparison - source: totalNumberOfItems scopes: + - variable.camel-case - variable.other.unknown.totalNumberOfItems - source: ) scopes: @@ -1164,6 +1328,7 @@ - punctuation.section.block.begin.bracket.curly - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: @@ -1214,6 +1379,7 @@ - punctuation.definition.begin.bracket.square - source: r scopes: + - variable.lower-case - variable.other.unknown.r - source: ']' scopes: @@ -1223,6 +1389,7 @@ - punctuation.definition.begin.bracket.square - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ']' scopes: @@ -1266,6 +1433,7 @@ - punctuation.definition.begin.bracket.square - source: r scopes: + - variable.lower-case - variable.other.unknown.r - source: ']' scopes: @@ -1275,6 +1443,7 @@ - punctuation.definition.begin.bracket.square - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ']' scopes: @@ -1291,28 +1460,34 @@ - meta.block - source: estimatedValueOfAccepting scopes: + - variable.camel-case - variable.other.unknown.estimatedValueOfAccepting - source: '=' scopes: - keyword.operator.assignment - source: U scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: r scopes: + - variable.lower-case - variable.other.unknown.r - source: ',' scopes: - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -1334,12 +1509,14 @@ - punctuation.section.parens.begin.bracket.round - source: itemIndex scopes: + - variable.camel-case - variable.other.unknown.itemIndex - source: '==' scopes: - keyword.operator.comparison - source: totalNumberOfItems scopes: + - variable.camel-case - variable.other.unknown.totalNumberOfItems - source: ) scopes: @@ -1361,12 +1538,14 @@ - comment.line.double-slash - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment - source: estimatedValueOfAccepting scopes: + - variable.camel-case - variable.other.unknown.estimatedValueOfAccepting - source: ; scopes: @@ -1395,6 +1574,7 @@ - comment.line.double-slash - source: sum scopes: + - variable.lower-case - variable.other.unknown.sum - source: '=' scopes: @@ -1407,6 +1587,7 @@ - punctuation.terminator.statement - source: LoopFrom_ scopes: + - variable.snake-case - variable.other.unknown.LoopFrom_ - source: '1' scopes: @@ -1416,24 +1597,29 @@ - variable.other.unknown._To_ - source: nextItemIndex scopes: + - variable.camel-case - variable.other.unknown.nextItemIndex - source: _Times scopes: - variable.other.unknown._Times - source: sum scopes: + - variable.lower-case - variable.other.unknown.sum - source: += scopes: - keyword.operator.assignment.compound - source: V scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: nextItemIndex scopes: + - variable.camel-case - variable.other.unknown.nextItemIndex - source: ',' scopes: @@ -1444,6 +1630,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -1452,18 +1639,21 @@ - variable.other.unknown.EndLoop - source: estimatedValueOfRejecting scopes: + - variable.camel-case - variable.other.unknown.estimatedValueOfRejecting - source: '=' scopes: - keyword.operator.assignment - source: sum scopes: + - variable.lower-case - variable.other.unknown.sum - source: / scopes: - keyword.operator.arithmetic - source: nextItemIndex scopes: + - variable.camel-case - variable.other.unknown.nextItemIndex - source: ; scopes: @@ -1478,6 +1668,7 @@ - comment.line.double-slash - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: @@ -1489,12 +1680,14 @@ - punctuation.section.parens.begin.bracket.round - source: estimatedValueOfRejecting scopes: + - variable.camel-case - variable.other.unknown.estimatedValueOfRejecting - source: '>' scopes: - keyword.operator.comparison - source: estimatedValueOfAccepting scopes: + - variable.camel-case - variable.other.unknown.estimatedValueOfAccepting - source: ) scopes: @@ -1506,12 +1699,14 @@ - keyword.operator.ternary - source: estimatedValueOfRejecting scopes: + - variable.camel-case - variable.other.unknown.estimatedValueOfRejecting - source: ':' scopes: - keyword.operator.ternary - source: estimatedValueOfAccepting scopes: + - variable.camel-case - variable.other.unknown.estimatedValueOfAccepting - source: ; scopes: @@ -1540,6 +1735,7 @@ - punctuation.definition.begin.bracket.square - source: r scopes: + - variable.lower-case - variable.other.unknown.r - source: ']' scopes: @@ -1549,6 +1745,7 @@ - punctuation.definition.begin.bracket.square - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ']' scopes: @@ -1560,6 +1757,7 @@ - keyword.operator.assignment - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -1569,6 +1767,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -1580,7 +1779,7 @@ - meta.body.function.definition - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -1634,7 +1833,7 @@ - punctuation.definition.function.return-type - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '{' @@ -1658,7 +1857,8 @@ - keyword.operator.not - source: cin scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cin - source: . scopes: - punctuation.separator.dot-access @@ -1691,6 +1891,7 @@ - comment.line.double-slash - source: LoopFrom_ scopes: + - variable.snake-case - variable.other.unknown.LoopFrom_ - source: '1' scopes: @@ -1700,21 +1901,29 @@ - variable.other.unknown._To_ - source: MAX_N_SIZE scopes: + - variable.upper-case - variable.other.unknown.MAX_N_SIZE - source: _Times scopes: - variable.other.unknown._Times - source: short + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: row + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: LoopNumber scopes: - variable.other.unknown.LoopNumber @@ -1724,11 +1933,14 @@ - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: LoopFrom_ scopes: + - variable.snake-case - variable.other.unknown.LoopFrom_ - source: '1' scopes: @@ -1738,21 +1950,29 @@ - variable.other.unknown._To_ - source: MAX_N_SIZE scopes: + - variable.upper-case - variable.other.unknown.MAX_N_SIZE - source: _Times scopes: - variable.other.unknown._Times - source: short + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: cell + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: LoopNumber scopes: - variable.other.unknown.LoopNumber @@ -1762,6 +1982,8 @@ - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -1775,6 +1997,7 @@ - punctuation.definition.begin.bracket.square - source: row scopes: + - variable.lower-case - variable.other.unknown.row - source: ']' scopes: @@ -1784,6 +2007,7 @@ - punctuation.definition.begin.bracket.square - source: cell scopes: + - variable.lower-case - variable.other.unknown.cell - source: ']' scopes: @@ -1807,28 +2031,33 @@ - variable.other.unknown.EndLoop - source: cin scopes: + - variable.lower-case - variable.other.unknown.cin - source: '>>' scopes: - keyword.operator.bitwise.shift - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: V scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '1' scopes: - constant.numeric.decimal @@ -1841,6 +2070,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '<<' scopes: - keyword.operator.bitwise.shift diff --git a/language_examples/feature_typedef_alias.spec.yaml b/language_examples/feature_typedef_alias.spec.yaml index 0a548ae9..5ea0700c 100644 --- a/language_examples/feature_typedef_alias.spec.yaml +++ b/language_examples/feature_typedef_alias.spec.yaml @@ -129,7 +129,7 @@ - keyword.other.typedef - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( diff --git a/language_examples/macro_issue.spec.yaml b/language_examples/macro_issue.spec.yaml index 42e2e335..ca0a960e 100644 --- a/language_examples/macro_issue.spec.yaml +++ b/language_examples/macro_issue.spec.yaml @@ -88,7 +88,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem @@ -128,6 +128,7 @@ - keyword.operator.arithmetic - source: func scopes: + - variable.lower-case - variable.other.unknown.func - source: ) scopes: @@ -187,6 +188,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -199,18 +201,21 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: DRIVEN_WHEEL_COUNT scopes: + - variable.upper-case - variable.other.unknown.DRIVEN_WHEEL_COUNT - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -242,6 +247,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -271,6 +277,7 @@ - punctuation.section.parens.begin.bracket.round - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ... - source: ) @@ -308,6 +315,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -337,6 +345,7 @@ - punctuation.section.parens.begin.bracket.round - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ... - source: ) @@ -394,6 +403,7 @@ - keyword.operator.arithmetic - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ) scopes: @@ -407,6 +417,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ) scopes: @@ -434,18 +445,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma - source: RAIL_WHEEL_ID scopes: + - variable.upper-case - variable.other.unknown.RAIL_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma - source: CHAS_BUS scopes: + - variable.snake-case - variable.other.unknown.CHAS_BUS - source: ',' scopes: @@ -489,18 +503,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma - source: LEFT_BACK_WHEEL_ID scopes: + - variable.upper-case - variable.other.unknown.LEFT_BACK_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma - source: CHAS_BUS scopes: + - variable.snake-case - variable.other.unknown.CHAS_BUS - source: ',' scopes: @@ -536,18 +553,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma - source: LEFT_FRONT_WHEEL_ID scopes: + - variable.upper-case - variable.other.unknown.LEFT_FRONT_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma - source: CHAS_BUS scopes: + - variable.snake-case - variable.other.unknown.CHAS_BUS - source: ',' scopes: @@ -583,18 +603,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma - source: RIGHT_FRONT_WHEEL_ID scopes: + - variable.upper-case - variable.other.unknown.RIGHT_FRONT_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma - source: CHAS_BUS scopes: + - variable.snake-case - variable.other.unknown.CHAS_BUS - source: ',' scopes: @@ -630,18 +653,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma - source: RIGHT_BACK_WHEEL_ID scopes: + - variable.upper-case - variable.other.unknown.RIGHT_BACK_WHEEL_ID - source: ',' scopes: - punctuation.separator.delimiter.comma - source: CHAS_BUS scopes: + - variable.snake-case - variable.other.unknown.CHAS_BUS - source: ',' scopes: @@ -689,18 +715,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma - source: LEFT_BACK_YAW_ID scopes: + - variable.upper-case - variable.other.unknown.LEFT_BACK_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma - source: CHAS_BUS scopes: + - variable.snake-case - variable.other.unknown.CHAS_BUS - source: ',' scopes: @@ -736,18 +765,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma - source: LEFT_FRONT_YAW_ID scopes: + - variable.upper-case - variable.other.unknown.LEFT_FRONT_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma - source: CHAS_BUS scopes: + - variable.snake-case - variable.other.unknown.CHAS_BUS - source: ',' scopes: @@ -783,18 +815,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma - source: RIGHT_FRONT_YAW_ID scopes: + - variable.upper-case - variable.other.unknown.RIGHT_FRONT_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma - source: CHAS_BUS scopes: + - variable.snake-case - variable.other.unknown.CHAS_BUS - source: ',' scopes: @@ -830,18 +865,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drivers scopes: + - variable.lower-case - variable.other.unknown.drivers - source: ',' scopes: - punctuation.separator.delimiter.comma - source: RIGHT_BACK_YAW_ID scopes: + - variable.upper-case - variable.other.unknown.RIGHT_BACK_YAW_ID - source: ',' scopes: - punctuation.separator.delimiter.comma - source: CHAS_BUS scopes: + - variable.snake-case - variable.other.unknown.CHAS_BUS - source: ',' scopes: @@ -905,14 +943,14 @@ - punctuation.separator.delimiter.comma.template.argument - source: DRIVEN_WHEEL_COUNT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: MOTORS_PER_WHEEL scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -956,7 +994,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: DJIMotor scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -966,14 +1004,14 @@ - punctuation.separator.delimiter.comma.template.argument - source: DRIVEN_WHEEL_COUNT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: MOTORS_PER_WHEEL scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -1040,6 +1078,7 @@ - punctuation.definition.begin.bracket.square - source: RAIL scopes: + - variable.upper-case - variable.other.unknown.RAIL - source: ']' scopes: @@ -1063,6 +1102,7 @@ - keyword.operator.bitwise - source: railWheel scopes: + - variable.camel-case - variable.other.unknown.railWheel - source: ; scopes: @@ -1093,6 +1133,7 @@ - punctuation.definition.begin.bracket.square - source: LB scopes: + - variable.upper-case - variable.other.unknown.LB - source: ']' scopes: @@ -1116,6 +1157,7 @@ - keyword.operator.bitwise - source: leftBackWheel scopes: + - variable.camel-case - variable.other.unknown.leftBackWheel - source: ; scopes: @@ -1130,6 +1172,7 @@ - punctuation.definition.begin.bracket.square - source: LF scopes: + - variable.upper-case - variable.other.unknown.LF - source: ']' scopes: @@ -1153,6 +1196,7 @@ - keyword.operator.bitwise - source: leftFrontWheel scopes: + - variable.camel-case - variable.other.unknown.leftFrontWheel - source: ; scopes: @@ -1167,6 +1211,7 @@ - punctuation.definition.begin.bracket.square - source: RF scopes: + - variable.upper-case - variable.other.unknown.RF - source: ']' scopes: @@ -1190,6 +1235,7 @@ - keyword.operator.bitwise - source: rightFrontWheel scopes: + - variable.camel-case - variable.other.unknown.rightFrontWheel - source: ; scopes: @@ -1204,6 +1250,7 @@ - punctuation.definition.begin.bracket.square - source: RB scopes: + - variable.upper-case - variable.other.unknown.RB - source: ']' scopes: @@ -1227,6 +1274,7 @@ - keyword.operator.bitwise - source: rightBackWheel scopes: + - variable.camel-case - variable.other.unknown.rightBackWheel - source: ; scopes: @@ -1352,12 +1400,14 @@ - keyword.operator.assignment - source: WHEELBASE_WIDTH scopes: + - variable.snake-case - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic - source: WHEELBASE_LENGTH scopes: + - variable.snake-case - variable.other.unknown.WHEELBASE_LENGTH - source: ; scopes: @@ -1488,12 +1538,14 @@ - punctuation.section.parens.begin.bracket.round - source: WHEELBASE_WIDTH scopes: + - variable.snake-case - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic - source: WHEELBASE_LENGTH scopes: + - variable.snake-case - variable.other.unknown.WHEELBASE_LENGTH - source: ) scopes: @@ -1624,12 +1676,14 @@ - keyword.operator.assignment - source: WHEELBASE_WIDTH scopes: + - variable.snake-case - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic - source: WHEELBASE_LENGTH scopes: + - variable.snake-case - variable.other.unknown.WHEELBASE_LENGTH - source: ; scopes: @@ -1760,12 +1814,14 @@ - punctuation.section.parens.begin.bracket.round - source: WHEELBASE_WIDTH scopes: + - variable.snake-case - variable.other.unknown.WHEELBASE_WIDTH - source: + scopes: - keyword.operator.arithmetic - source: WHEELBASE_LENGTH scopes: + - variable.snake-case - variable.other.unknown.WHEELBASE_LENGTH - source: ) scopes: @@ -1807,6 +1863,7 @@ - punctuation.definition.begin.bracket.square - source: LB scopes: + - variable.upper-case - variable.other.unknown.LB - source: ']' scopes: @@ -1830,6 +1887,7 @@ - keyword.operator.bitwise - source: leftBackYaw scopes: + - variable.camel-case - variable.other.unknown.leftBackYaw - source: ; scopes: @@ -1844,6 +1902,7 @@ - punctuation.definition.begin.bracket.square - source: LF scopes: + - variable.upper-case - variable.other.unknown.LF - source: ']' scopes: @@ -1867,6 +1926,7 @@ - keyword.operator.bitwise - source: leftFrontYaw scopes: + - variable.camel-case - variable.other.unknown.leftFrontYaw - source: ; scopes: @@ -1881,6 +1941,7 @@ - punctuation.definition.begin.bracket.square - source: RF scopes: + - variable.upper-case - variable.other.unknown.RF - source: ']' scopes: @@ -1904,6 +1965,7 @@ - keyword.operator.bitwise - source: rightFrontYaw scopes: + - variable.camel-case - variable.other.unknown.rightFrontYaw - source: ; scopes: @@ -1918,6 +1980,7 @@ - punctuation.definition.begin.bracket.square - source: RB scopes: + - variable.upper-case - variable.other.unknown.RB - source: ']' scopes: @@ -1941,6 +2004,7 @@ - keyword.operator.bitwise - source: rightBackYaw scopes: + - variable.camel-case - variable.other.unknown.rightBackYaw - source: ; scopes: @@ -1966,7 +2030,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem @@ -2012,6 +2076,7 @@ - punctuation.separator.scope-resolution - source: initialize scopes: + - variable.lower-case - variable.other.unknown.initialize - source: ) scopes: @@ -2026,7 +2091,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem @@ -2068,7 +2133,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem @@ -2124,7 +2189,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem @@ -2180,7 +2245,7 @@ - punctuation.section.block.end.bracket.curly.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ChassisSubsystem diff --git a/language_examples/misc_000.spec.yaml b/language_examples/misc_000.spec.yaml index 67c08c96..73089dba 100644 --- a/language_examples/misc_000.spec.yaml +++ b/language_examples/misc_000.spec.yaml @@ -1157,6 +1157,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -1202,6 +1203,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -1225,6 +1227,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -1248,6 +1251,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -1299,6 +1303,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: + scopes: @@ -1311,6 +1316,7 @@ - keyword.operator.arithmetic - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ) scopes: @@ -1341,6 +1347,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1370,6 +1377,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1400,6 +1408,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1435,6 +1444,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: + scopes: @@ -1447,6 +1457,7 @@ - keyword.operator.arithmetic - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ) scopes: @@ -1477,6 +1488,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1506,6 +1518,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1536,6 +1549,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1569,6 +1583,7 @@ - support.type.built-in.posix-reserved.pthread - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ; scopes: @@ -1579,6 +1594,7 @@ - support.type.built-in.posix-reserved.pthread - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ; scopes: @@ -1664,6 +1680,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -1698,6 +1715,7 @@ - keyword.operator.delete - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ; scopes: @@ -1716,7 +1734,7 @@ - keyword.operator.bitwise - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -1745,7 +1763,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -1758,6 +1776,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable scopes: + - variable.snake-case - variable.other.unknown.a_callable - source: ) scopesBegin: @@ -1777,6 +1796,7 @@ - keyword.operator.arithmetic - source: array scopes: + - variable.lower-case - variable.other.unknown.array - source: '=' scopes: @@ -1817,6 +1837,7 @@ - keyword.operator.wordlike - source: array scopes: + - variable.lower-case - variable.other.unknown.array - source: ; scopes: @@ -1837,6 +1858,7 @@ - storage.type.built-in.primitive - source: deleter scopes: + - variable.lower-case - variable.other.unknown.deleter - source: ; scopes: @@ -2035,7 +2057,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: __MAGIC__show @@ -2084,12 +2106,14 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: @@ -2128,12 +2152,14 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: @@ -2188,7 +2214,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2223,7 +2249,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: streamsize scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2258,14 +2284,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2279,6 +2305,7 @@ - punctuation.separator.scope-resolution - source: links_to scopes: + - variable.snake-case - variable.other.unknown.links_to - source: ; scopes: @@ -2295,6 +2322,7 @@ - punctuation.separator.scope-resolution - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ; scopes: @@ -2310,7 +2338,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2332,7 +2360,8 @@ - punctuation.definition.begin.bracket.square - source: input_event scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_event - source: . scopes: - punctuation.separator.dot-access @@ -2371,6 +2400,7 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.lower-case - variable.other.unknown.acopy - source: ) scopes: @@ -2393,6 +2423,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy scopes: + - variable.lower-case - variable.other.unknown.acopy - source: ',' scopes: @@ -2433,6 +2464,7 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.lower-case - variable.other.unknown.acopy - source: ) scopes: @@ -2455,6 +2487,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy scopes: + - variable.lower-case - variable.other.unknown.acopy - source: ',' scopes: @@ -2483,12 +2516,14 @@ - comment.line.double-slash - source: window scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.window - source: . scopes: - punctuation.separator.dot-access - source: as scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2528,12 +2563,14 @@ - punctuation.terminator.statement - source: window scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.window - source: . scopes: - punctuation.separator.dot-access - source: MV scopes: + - variable.upper-case - variable.other.object.property - source: . scopes: @@ -2573,7 +2610,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2585,7 +2623,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2597,7 +2636,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2609,7 +2649,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2621,12 +2662,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2639,12 +2682,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: .* scopes: @@ -2657,12 +2702,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2675,12 +2722,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -2693,12 +2742,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -2711,12 +2762,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2729,12 +2782,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: .* scopes: @@ -2747,12 +2802,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2765,7 +2822,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2790,7 +2848,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2815,7 +2874,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2840,7 +2900,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2865,7 +2926,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2896,7 +2958,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2927,7 +2990,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2958,7 +3022,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2989,7 +3054,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3007,7 +3073,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3025,7 +3092,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -3043,7 +3110,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3061,7 +3128,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3085,7 +3153,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3109,7 +3178,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -3133,7 +3202,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3162,7 +3231,8 @@ - punctuation.section.block.begin.bracket.curly - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3193,7 +3263,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3224,7 +3295,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -3255,7 +3327,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3286,7 +3359,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3298,7 +3372,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3310,7 +3385,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -3322,7 +3398,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3340,7 +3417,8 @@ - punctuation.section.block.begin.bracket.curly - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3358,7 +3436,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3376,7 +3455,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -3394,7 +3473,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3432,7 +3511,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -3502,7 +3581,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3573,7 +3652,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3644,7 +3723,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3715,7 +3794,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3881,7 +3960,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4056,6 +4135,7 @@ - punctuation.definition.parameters.end.preprocessor - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -4135,7 +4215,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -4165,6 +4245,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -4193,12 +4274,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -4215,6 +4298,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: @@ -4228,6 +4312,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -4240,12 +4325,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -4262,6 +4349,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: @@ -4378,6 +4466,7 @@ - punctuation.separator.scope-resolution.template.definition - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopesBegin: @@ -4452,7 +4541,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4549,6 +4638,7 @@ - punctuation.separator.scope-resolution.template.definition - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopes: @@ -4569,7 +4659,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4666,6 +4756,7 @@ - punctuation.separator.scope-resolution.template.definition - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopes: @@ -4686,7 +4777,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4753,7 +4844,7 @@ - meta.body.struct - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4883,7 +4974,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: internalConversionToFuncPtr @@ -4914,7 +5005,7 @@ - punctuation.separator.delimiter.comma - source: Ret scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -4955,31 +5046,41 @@ - source: static scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - storage.modifier.specifier.static - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: used + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: static + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.static - source: storage scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4989,17 +5090,20 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: a_storage_of_callable scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.a_storage_of_callable + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -5028,7 +5132,7 @@ scopesBegin: - meta.arguments.decltype scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -5057,6 +5161,7 @@ - punctuation.section.parens.begin.bracket.round - source: used scopes: + - variable.lower-case - variable.other.unknown.used - source: ) scopes: @@ -5070,12 +5175,13 @@ - punctuation.section.block.begin.bracket.curly - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access - source: callable scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -5111,7 +5217,7 @@ - keyword.operator.bitwise - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -5140,7 +5246,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5153,6 +5259,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable scopes: + - variable.snake-case - variable.other.unknown.a_callable - source: ) scopesBegin: @@ -5165,6 +5272,7 @@ - punctuation.terminator.statement - source: used scopes: + - variable.lower-case - variable.other.unknown.used - source: '=' scopes: @@ -5237,7 +5345,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -5258,7 +5366,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Args scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5271,6 +5379,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ) scopes: @@ -5346,7 +5455,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -5401,7 +5510,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: 'N' scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5423,7 +5532,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5436,6 +5545,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: c scopes: + - variable.lower-case - variable.other.unknown.c - source: ) scopes: @@ -5450,6 +5560,7 @@ - punctuation.section.parens.begin.bracket.round - source: RETURN_TYPE scopes: + - variable.snake-case - variable.other.unknown.RETURN_TYPE - source: '*' scopes: @@ -5534,19 +5645,28 @@ scopesEnd: - storage.type.modifier.access.control.protected - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5633,19 +5753,28 @@ scopesEnd: - storage.type.modifier.access.control.protected - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5703,7 +5832,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5747,7 +5876,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5791,7 +5920,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5835,7 +5964,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5901,7 +6030,7 @@ - storage.type.modifier.access.public - source: ClassA scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -5998,7 +6127,7 @@ - storage.type.modifier.access.public - source: foo scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -6009,7 +6138,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance @@ -6018,7 +6147,7 @@ - storage.type.modifier.access.public - source: foo scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -6029,7 +6158,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.block.begin.bracket.curly.class @@ -6084,7 +6213,7 @@ - storage.type.modifier.access.public - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -6117,21 +6246,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: pointerT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: hashT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: allocatorT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6161,7 +6290,7 @@ scopesBegin: - meta.body.struct - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type - support.other.attribute scopes: - punctuation.section.attribute.begin @@ -6178,7 +6307,7 @@ - storage.type.primitive - storage.type.built-in.primitive scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: operator scopesBegin: - meta.head.function.definition.special.operator-overload @@ -6329,7 +6458,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: domain_error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -6372,7 +6501,7 @@ - storage.modifier - source: allocatorT scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -6384,7 +6513,7 @@ - entity.name.type scopesEnd: - meta.arguments.operator.typeid - - meta.qualified_type + - meta.qualified-type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -6614,21 +6743,21 @@ - storage.type.modifier.access.private - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: foo scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6638,21 +6767,21 @@ - storage.type.modifier.access.public - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: foo scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6662,14 +6791,14 @@ - storage.type.modifier.access.protected - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -6732,7 +6861,7 @@ - storage.type.modifier.access.public - source: A scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6742,7 +6871,7 @@ - storage.type.modifier.access.public - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -6777,7 +6906,7 @@ - storage.type.modifier.access.public - source: A scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6787,7 +6916,7 @@ - storage.type.modifier.access.public - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6842,7 +6971,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ToBinary scopesBegin: @@ -6907,6 +7036,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -6951,6 +7081,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -7374,6 +7505,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -7412,6 +7544,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -7492,7 +7625,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -7513,7 +7646,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Args scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7526,6 +7659,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ) scopes: @@ -7759,7 +7893,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -7781,16 +7915,22 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -7798,6 +7938,7 @@ - punctuation.section.parens.begin.bracket.round - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: + scopes: @@ -7816,6 +7957,8 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7848,6 +7991,7 @@ - punctuation.section.parens.begin.bracket.round - source: test scopes: + - variable.lower-case - variable.other.unknown.test - source: ) scopes: @@ -7931,6 +8075,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -8015,7 +8160,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8027,6 +8173,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -8067,7 +8214,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8129,7 +8277,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8191,7 +8340,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8253,7 +8403,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8315,7 +8466,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8377,7 +8529,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8439,7 +8592,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8501,7 +8655,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8563,7 +8718,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8625,7 +8781,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8687,6 +8844,7 @@ - punctuation.section.block.begin.bracket.curly - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: += scopes: @@ -8740,6 +8898,7 @@ - punctuation.section.block.begin.bracket.curly - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: += scopes: @@ -8793,6 +8952,7 @@ - punctuation.section.block.begin.bracket.curly - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: += scopes: @@ -8825,12 +8985,14 @@ - punctuation.section.parens.begin.bracket.round - source: qavail scopes: + - variable.lower-case - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: + scopes: @@ -8859,13 +9021,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -8903,19 +9067,28 @@ scopesEnd: - meta.block - source: char32_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved - source: cpnt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -8935,30 +9108,35 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: ; scopes: @@ -8968,6 +9146,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -8993,6 +9172,7 @@ - storage.type.built-in.primitive - source: s_digits scopes: + - variable.snake-case - variable.other.assignment - source: '[' scopes: @@ -9018,16 +9198,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -9066,6 +9253,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: @@ -9086,6 +9274,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -9095,6 +9284,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9111,6 +9302,7 @@ - keyword.operator.logical - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: ) scopes: @@ -9133,12 +9325,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: + scopes: @@ -9171,16 +9365,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dvalue + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -9207,12 +9408,14 @@ - punctuation.section.parens.begin.bracket.round - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ) scopes: @@ -9229,18 +9432,21 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '*' scopes: @@ -9253,6 +9459,7 @@ - keyword.operator.arithmetic - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ; scopes: @@ -9272,6 +9479,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '==' scopes: @@ -9307,7 +9515,8 @@ - comment.line.double-slash - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -9338,6 +9547,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -9398,6 +9608,7 @@ - keyword.operator.comparison - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -9414,6 +9625,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -9453,6 +9665,7 @@ - keyword.operator.comparison - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -9488,18 +9701,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: ',' scopes: @@ -9534,16 +9750,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: encode_one + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -9592,7 +9815,8 @@ - punctuation.section.block.begin.bracket.curly.lambda - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -9631,6 +9855,7 @@ - keyword.operator.bitwise - source: mask scopes: + - variable.lower-case - variable.other.unknown.mask - source: '<<' scopes: @@ -9658,12 +9883,14 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '>>' scopes: - keyword.operator.bitwise.shift - source: shift scopes: + - variable.lower-case - variable.other.unknown.shift - source: ) scopes: @@ -9675,6 +9902,7 @@ - keyword.operator.bitwise - source: mask scopes: + - variable.lower-case - variable.other.unknown.mask - source: ) scopes: @@ -9696,6 +9924,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -9710,6 +9939,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -9775,6 +10005,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -9864,6 +10095,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -10080,6 +10312,7 @@ - source: ':' - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ; scopes: @@ -10093,7 +10326,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func1 @@ -10129,7 +10362,7 @@ - support.other.attribute - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func2 @@ -10206,7 +10439,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func3 diff --git a/language_examples/misc_001.spec.yaml b/language_examples/misc_001.spec.yaml index 932e3d7d..bc023397 100644 --- a/language_examples/misc_001.spec.yaml +++ b/language_examples/misc_001.spec.yaml @@ -83,6 +83,7 @@ - punctuation.separator.scope-resolution - source: move scopes: + - variable.lower-case - variable.other.unknown.move - source: ; scopes: @@ -99,6 +100,7 @@ - punctuation.separator.scope-resolution - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: ; scopes: @@ -115,6 +117,7 @@ - punctuation.separator.scope-resolution - source: hash_combine scopes: + - variable.snake-case - variable.other.unknown.hash_combine - source: ; scopes: @@ -143,6 +146,7 @@ - keyword.operator.bitwise - source: other scopes: + - variable.lower-case - variable.other.unknown.other - source: ) scopes: @@ -192,6 +196,7 @@ - keyword.operator.assignment - source: other scopes: + - variable.lower-case - variable.other.unknown.other - source: ; scopes: @@ -208,7 +213,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: destroy_value @@ -256,7 +261,8 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: rule scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rule - source: '->' scopes: - punctuation.separator.pointer-access @@ -299,12 +305,14 @@ - keyword.control.return - source: rule scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rule - source: '->' scopes: - punctuation.separator.pointer-access - source: blank scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -337,7 +345,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -407,13 +415,15 @@ - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -436,6 +446,7 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: ) scopes: @@ -475,6 +486,7 @@ - keyword.operator.bitwise - source: blank_ scopes: + - variable.snake-case - variable.other.unknown.blank_ - source: ) scopes: @@ -489,7 +501,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -549,7 +562,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access diff --git a/language_examples/misc_005.spec.yaml b/language_examples/misc_005.spec.yaml index adaa2121..acb256de 100644 --- a/language_examples/misc_005.spec.yaml +++ b/language_examples/misc_005.spec.yaml @@ -1372,7 +1372,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ClearScreen @@ -1396,7 +1396,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: FlushCin scopesBegin: @@ -1419,7 +1419,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Pause @@ -1443,7 +1443,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: System @@ -1479,7 +1479,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -1502,7 +1502,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -1540,7 +1540,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -1578,7 +1578,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -1628,7 +1628,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: StreamAsString scopesBegin: @@ -1666,7 +1666,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: StreamStatus scopesBegin: @@ -1704,7 +1704,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Literal scopesBegin: @@ -1739,7 +1739,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Literal scopesBegin: @@ -1775,7 +1775,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IsAllUpperCase @@ -1811,7 +1811,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IsAllUpperCase @@ -1848,7 +1848,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__CharIn__String @@ -1894,7 +1894,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: EverythingUpTo scopesBegin: @@ -1942,7 +1942,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: EverythingUpTo scopesBegin: @@ -1978,7 +1978,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EndProgram @@ -2002,7 +2002,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Poke @@ -2038,7 +2038,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -2079,7 +2079,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: DidStreamFail @@ -2118,7 +2118,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EndOfStream @@ -2157,7 +2157,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: StreamMatchesString @@ -2224,7 +2224,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Type scopesBegin: @@ -2278,7 +2278,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: AsString scopesBegin: @@ -2327,6 +2327,7 @@ - keyword.operator.assignment - source: PTHREAD_MUTEX_INITIALIZER scopes: + - variable.upper-case - variable.other.unknown.PTHREAD_MUTEX_INITIALIZER - source: ; scopes: @@ -2408,12 +2409,17 @@ - source: string scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: info scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -2452,12 +2458,14 @@ scopesBegin: - meta.body.function.definition.special.constructor scopes: + - variable.lower-case - variable.other.unknown.info - source: '=' scopes: - keyword.operator.assignment - source: input_error scopes: + - variable.snake-case - variable.other.unknown.input_error - source: ; scopes: @@ -2483,7 +2491,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -2546,13 +2554,15 @@ - keyword.control.return - source: output_stream scopes: + - variable.snake-case - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_error scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_error - source: . scopes: - punctuation.separator.dot-access @@ -2573,7 +2583,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Error @@ -2617,6 +2627,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_error scopes: + - variable.snake-case - variable.other.unknown.input_error - source: ) scopes: @@ -2631,7 +2642,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: error @@ -2675,6 +2686,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_error scopes: + - variable.snake-case - variable.other.unknown.input_error - source: ) scopes: @@ -2702,6 +2714,7 @@ - entity.name.function.preprocessor - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -2740,6 +2753,7 @@ - storage.type.built-in.primitive - source: COUNTER scopes: + - variable.upper-case - variable.other.unknown.COUNTER - source: '=' scopes: @@ -2855,7 +2869,8 @@ - meta.function.definition.special.constructor - source: decay_t scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - support.type.posix-reserved - support.type.built-in.posix-reserved @@ -2866,17 +2881,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: callable scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -2940,7 +2959,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: internalConversionToFuncPtr @@ -2971,7 +2990,7 @@ - punctuation.separator.delimiter.comma - source: Ret scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -3012,31 +3031,41 @@ - source: static scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - storage.modifier.specifier.static - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: used + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: static + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.static - source: storage scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -3046,17 +3075,20 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: a_storage_of_callable scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.a_storage_of_callable + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -3085,7 +3117,7 @@ scopesBegin: - meta.arguments.decltype scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -3114,6 +3146,7 @@ - punctuation.section.parens.begin.bracket.round - source: used scopes: + - variable.lower-case - variable.other.unknown.used - source: ) scopes: @@ -3127,12 +3160,13 @@ - punctuation.section.block.begin.bracket.curly - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access - source: callable scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -3168,7 +3202,7 @@ - keyword.operator.bitwise - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -3197,7 +3231,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3210,6 +3244,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable scopes: + - variable.snake-case - variable.other.unknown.a_callable - source: ) scopesBegin: @@ -3222,6 +3257,7 @@ - punctuation.terminator.statement - source: used scopes: + - variable.lower-case - variable.other.unknown.used - source: '=' scopes: @@ -3286,7 +3322,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -3307,7 +3343,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Args scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3320,6 +3356,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ) scopes: @@ -3395,7 +3432,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -3450,7 +3487,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: 'N' scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3472,7 +3509,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3485,6 +3522,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: c scopes: + - variable.lower-case - variable.other.unknown.c - source: ) scopes: @@ -3499,6 +3537,7 @@ - punctuation.section.parens.begin.bracket.round - source: RETURN_TYPE scopes: + - variable.snake-case - variable.other.unknown.RETURN_TYPE - source: '*' scopes: @@ -3598,7 +3637,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -3643,7 +3682,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3672,6 +3711,7 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: + - variable.snake-case - variable.other.unknown.output_stream - source: '<<' scopes: @@ -3724,7 +3764,8 @@ - keyword.operator.comparison - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -3760,6 +3801,7 @@ - punctuation.section.block.begin.bracket.curly - source: output_stream scopes: + - variable.snake-case - variable.other.unknown.output_stream - source: '<<' scopes: @@ -3813,6 +3855,7 @@ - keyword.control.return - source: output_stream scopes: + - variable.snake-case - variable.other.unknown.output_stream - source: '<<' scopes: @@ -3861,7 +3904,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -3903,7 +3946,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3932,6 +3975,7 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: + - variable.snake-case - variable.other.unknown.input_ - source: '=' scopes: @@ -3950,23 +3994,34 @@ scopes: - punctuation.terminator.statement - source: ANYTYPE + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: element_holder scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -3980,12 +4035,14 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: '>>' scopes: - keyword.operator.bitwise.shift - source: element_holder scopes: + - variable.snake-case - variable.other.unknown.element_holder - source: ) scopes: @@ -3999,7 +4056,8 @@ - punctuation.section.block.begin.bracket.curly - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -4011,6 +4069,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: element_holder scopes: + - variable.snake-case - variable.other.unknown.element_holder - source: ) scopes: @@ -4020,7 +4079,8 @@ - punctuation.terminator.statement - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -4082,6 +4142,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: ) scopes: @@ -4099,6 +4160,7 @@ - keyword.control.return - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: ; scopes: @@ -4140,7 +4202,7 @@ - source: vector scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4150,13 +4212,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: operator scopesBegin: @@ -4186,7 +4248,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4215,7 +4277,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4243,7 +4305,8 @@ - source: vector scopesBegin: - meta.body.function.definition.special.operator-overload - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4253,29 +4316,38 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: vec3 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: vec1 scopes: + - variable.lower-case - variable.other.unknown.vec1 + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: vec3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec3 - source: . scopes: - punctuation.separator.dot-access @@ -4287,7 +4359,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vec1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec1 - source: . scopes: - punctuation.separator.dot-access @@ -4305,7 +4378,8 @@ - keyword.operator.arithmetic - source: vec2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec2 - source: . scopes: - punctuation.separator.dot-access @@ -4336,7 +4410,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: each scopes: @@ -4346,6 +4420,7 @@ - punctuation.separator.colon.range-based - source: vec2 scopes: + - variable.lower-case - variable.other.unknown.vec2 scopesEnd: - meta.parens.control.for @@ -4356,7 +4431,8 @@ - meta.parens - source: vec3 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec3 - source: . scopes: - punctuation.separator.dot-access @@ -4368,6 +4444,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ) scopes: @@ -4380,6 +4457,7 @@ - keyword.control.return - source: vec3 scopes: + - variable.lower-case - variable.other.unknown.vec3 - source: ; scopes: @@ -4413,7 +4491,7 @@ - source: vector scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4423,13 +4501,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: operator scopesBegin: @@ -4459,7 +4537,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4499,7 +4577,8 @@ - source: vector scopesBegin: - meta.body.function.definition.special.operator-overload - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4509,29 +4588,38 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: vec2 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: vec1 scopes: + - variable.lower-case - variable.other.unknown.vec1 + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: vec2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec2 - source: . scopes: - punctuation.separator.dot-access @@ -4543,6 +4631,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: @@ -4555,6 +4644,7 @@ - keyword.control.return - source: vec2 scopes: + - variable.lower-case - variable.other.unknown.vec2 - source: ; scopes: @@ -4588,7 +4678,7 @@ - source: vector scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4598,13 +4688,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: operator scopesBegin: @@ -4646,7 +4736,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4674,7 +4764,8 @@ - source: vector scopesBegin: - meta.body.function.definition.special.operator-overload - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4684,29 +4775,38 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: vec2 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: vec1 scopes: + - variable.lower-case - variable.other.unknown.vec1 + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: vec2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec2 - source: . scopes: - punctuation.separator.dot-access @@ -4718,7 +4818,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vec2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vec2 - source: . scopes: - punctuation.separator.dot-access @@ -4736,6 +4837,7 @@ - punctuation.separator.delimiter.comma - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: @@ -4748,6 +4850,7 @@ - keyword.control.return - source: vec2 scopes: + - variable.lower-case - variable.other.unknown.vec2 - source: ; scopes: @@ -4799,7 +4902,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -4844,14 +4947,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4883,13 +4986,15 @@ - keyword.control.return - source: output_stream scopes: + - variable.snake-case - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_pair - source: . scopes: - punctuation.separator.dot-access @@ -4915,7 +5020,8 @@ - keyword.operator.bitwise.shift - source: input_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_pair - source: . scopes: - punctuation.separator.dot-access @@ -4964,7 +5070,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -5009,14 +5115,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5054,7 +5160,7 @@ - source: pair scopesBegin: - meta.parens.control.for - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -5064,20 +5170,20 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: each scopes: @@ -5087,6 +5193,7 @@ - punctuation.separator.colon.range-based - source: input_map scopes: + - variable.snake-case - variable.other.unknown.input_map scopesEnd: - meta.parens.control.for @@ -5102,12 +5209,14 @@ - punctuation.section.block.begin.bracket.curly - source: output_stream scopes: + - variable.snake-case - variable.other.unknown.output_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: '<<' scopes: @@ -5138,6 +5247,7 @@ - keyword.control.return - source: output_stream scopes: + - variable.snake-case - variable.other.unknown.output_stream - source: ; scopes: @@ -5181,7 +5291,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -5223,14 +5333,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5258,44 +5368,62 @@ - source: char scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_colon scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_colon + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: ANYTYPE + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: first_value scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: ANYSECONDTYPE + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: second_value scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: '>>' scopes: - keyword.operator.bitwise.shift - source: first_value scopes: + - variable.snake-case - variable.other.unknown.first_value - source: '>>' scopes: @@ -5308,13 +5436,15 @@ - keyword.operator.bitwise.shift - source: second_value scopes: + - variable.snake-case - variable.other.unknown.second_value - source: ; scopes: - punctuation.terminator.statement - source: input_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_pair - source: . scopes: - punctuation.separator.dot-access @@ -5326,13 +5456,15 @@ - keyword.operator.assignment - source: second_value scopes: + - variable.snake-case - variable.other.unknown.second_value - source: ; scopes: - punctuation.terminator.statement - source: input_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_pair - source: . scopes: - punctuation.separator.dot-access @@ -5344,6 +5476,7 @@ - keyword.operator.assignment - source: first_value scopes: + - variable.snake-case - variable.other.unknown.first_value - source: ; scopes: @@ -5353,6 +5486,7 @@ - keyword.control.return - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: ; scopes: @@ -5396,7 +5530,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -5438,14 +5572,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5474,7 +5608,8 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_map - source: . scopes: - punctuation.separator.dot-access @@ -5492,7 +5627,8 @@ - punctuation.terminator.statement - source: pair scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -5502,35 +5638,44 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: pair_holder scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -5544,12 +5689,14 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: '>>' scopes: - keyword.operator.bitwise.shift - source: pair_holder scopes: + - variable.snake-case - variable.other.unknown.pair_holder - source: ) scopes: @@ -5571,7 +5718,8 @@ - punctuation.definition.begin.bracket.square - source: pair_holder scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.pair_holder - source: . scopes: - punctuation.separator.dot-access @@ -5588,7 +5736,8 @@ - keyword.operator.assignment - source: pair_holder scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.pair_holder - source: . scopes: - punctuation.separator.dot-access @@ -5600,7 +5749,8 @@ - punctuation.terminator.statement - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -5662,6 +5812,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: ) scopes: @@ -5679,6 +5830,7 @@ - keyword.control.return - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: ; scopes: @@ -5715,6 +5867,7 @@ - storage.modifier.specifier.const - source: INDENT_SIZE scopes: + - variable.snake-case - variable.other.unknown.INDENT_SIZE - source: '=' scopes: @@ -5727,12 +5880,14 @@ - punctuation.terminator.statement - source: string scopes: + - variable.lower-case - variable.other.unknown.string - source: const scopes: - storage.modifier.specifier.const - source: INDENT scopes: + - variable.upper-case - variable.other.unknown.INDENT - source: '=' scopes: @@ -5745,6 +5900,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: INDENT_SIZE scopes: + - variable.snake-case - variable.other.unknown.INDENT_SIZE - source: ',' scopes: @@ -5796,7 +5952,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Indent scopesBegin: @@ -5829,51 +5985,74 @@ - source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: a_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: a_stream scopes: + - variable.snake-case - variable.other.unknown.a_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a_char scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_string + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: INDENT scopes: + - variable.upper-case - variable.other.unknown.INDENT + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5887,7 +6066,8 @@ - punctuation.section.parens.begin.bracket.round - source: a_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_stream - source: . scopes: - punctuation.separator.dot-access @@ -5899,6 +6079,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: a_char scopes: + - variable.snake-case - variable.other.unknown.a_char - source: ) scopes: @@ -5923,6 +6104,7 @@ - punctuation.section.parens.begin.bracket.round - source: a_char scopes: + - variable.snake-case - variable.other.unknown.a_char - source: '==' scopes: @@ -5952,12 +6134,14 @@ - punctuation.section.block.begin.bracket.curly - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: + scopes: @@ -5980,6 +6164,7 @@ - keyword.operator.arithmetic - source: INDENT scopes: + - variable.upper-case - variable.other.unknown.INDENT - source: ; scopes: @@ -5994,18 +6179,21 @@ - keyword.control.else - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: a_char scopes: + - variable.snake-case - variable.other.unknown.a_char - source: ; scopes: @@ -6020,6 +6208,7 @@ - keyword.control.return - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: ; scopes: @@ -6031,7 +6220,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Indent scopesBegin: @@ -6067,15 +6256,21 @@ - source: string scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: StreamAsString scopes: - entity.name.function.call @@ -6084,10 +6279,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6102,6 +6300,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ) scopes: @@ -6116,7 +6315,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Indent scopesBegin: @@ -6152,15 +6351,21 @@ - source: string scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: StreamAsString scopes: - entity.name.function.call @@ -6169,10 +6374,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6187,6 +6395,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ) scopes: @@ -6220,7 +6429,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Input_Unindent scopesBegin: @@ -6256,19 +6465,27 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: local_debug + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6282,6 +6499,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -6290,6 +6508,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -6312,26 +6531,39 @@ scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: char_holder scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: unindented_stuff + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -6341,6 +6573,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -6384,7 +6617,8 @@ - comment.line.double-slash - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -6396,6 +6630,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: char_holder scopes: + - variable.snake-case - variable.other.unknown.char_holder - source: ) scopes: @@ -6421,7 +6656,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -6454,6 +6690,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -6462,6 +6699,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -6504,7 +6742,8 @@ - comment.line.double-slash - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -6530,6 +6769,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -6538,6 +6778,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -6564,6 +6805,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: char_holder scopes: + - variable.snake-case - variable.other.unknown.char_holder - source: ) scopes: @@ -6605,6 +6847,7 @@ - punctuation.section.parens.begin.bracket.round - source: char_holder scopes: + - variable.snake-case - variable.other.unknown.char_holder - source: '!=' scopes: @@ -6639,6 +6882,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -6647,6 +6891,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -6718,12 +6963,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ',' scopes: - punctuation.separator.delimiter.comma - source: INDENT scopes: + - variable.upper-case - variable.other.unknown.INDENT - source: ) scopes: @@ -6748,6 +6995,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -6756,6 +7004,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -6787,6 +7036,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -6795,6 +7045,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -6815,6 +7066,7 @@ - keyword.operator.bitwise.shift - source: COUNTER scopes: + - variable.upper-case - variable.other.unknown.COUNTER - source: '<<' scopes: @@ -6865,15 +7117,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: next_line + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: EverythingUpTo scopes: - entity.name.function.call @@ -6898,10 +7157,13 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6931,7 +7193,8 @@ - punctuation.definition.begin.bracket.square - source: next_line scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.next_line - source: . scopes: - punctuation.separator.dot-access @@ -6991,6 +7254,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -6999,6 +7263,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -7030,6 +7295,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -7038,6 +7304,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -7067,6 +7334,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: next_line scopes: + - variable.snake-case - variable.other.unknown.next_line - source: ) scopes: @@ -7097,12 +7365,14 @@ - meta.block - source: unindented_stuff scopes: + - variable.snake-case - variable.other.unknown.unindented_stuff - source: += scopes: - keyword.operator.assignment.compound - source: next_line scopes: + - variable.snake-case - variable.other.unknown.next_line - source: ; scopes: @@ -7117,6 +7387,7 @@ - keyword.control.return - source: unindented_stuff scopes: + - variable.snake-case - variable.other.unknown.unindented_stuff - source: ; scopes: @@ -7139,7 +7410,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Rand @@ -7210,7 +7481,7 @@ - meta.body.function.definition - source: float scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Randn @@ -7321,12 +7592,12 @@ - source: long scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: long scopesEnd: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: CurrentTimeInMicroSeconds @@ -7348,17 +7619,22 @@ - source: struct scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - storage.type.struct - source: timeval scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: a_time scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -7373,6 +7649,7 @@ - keyword.operator.bitwise - source: a_time scopes: + - variable.snake-case - variable.other.unknown.a_time - source: ',' scopes: @@ -7391,7 +7668,8 @@ - keyword.control.return - source: a_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_time - source: . scopes: - punctuation.separator.dot-access @@ -7409,7 +7687,8 @@ - keyword.operator.arithmetic - source: a_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_time - source: . scopes: - punctuation.separator.dot-access @@ -7426,7 +7705,7 @@ - meta.body.function.definition - source: long scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: NumberOfMicrosecondsBetween @@ -7481,19 +7760,26 @@ - source: long scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: seconds + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: end_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.end_time - source: . scopes: - punctuation.separator.dot-access @@ -7505,30 +7791,41 @@ - keyword.operator.arithmetic - source: start_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.start_time - source: . scopes: - punctuation.separator.dot-access - source: tv_sec scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: long + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: micro_seconds + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: end_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.end_time - source: . scopes: - punctuation.separator.dot-access @@ -7540,13 +7837,16 @@ - keyword.operator.arithmetic - source: start_time scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.start_time - source: . scopes: - punctuation.separator.dot-access - source: tv_usec scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7560,6 +7860,7 @@ - punctuation.section.parens.begin.bracket.round - source: micro_seconds scopes: + - variable.snake-case - variable.other.unknown.micro_seconds - source: < scopes: @@ -7579,6 +7880,7 @@ - punctuation.section.block.begin.bracket.curly - source: micro_seconds scopes: + - variable.snake-case - variable.other.unknown.micro_seconds - source: += scopes: @@ -7611,6 +7913,7 @@ - punctuation.terminator.statement - source: seconds scopes: + - variable.lower-case - variable.other.unknown.seconds - source: '--' scopes: @@ -7633,6 +7936,7 @@ - punctuation.section.parens.begin.bracket.round - source: seconds scopes: + - variable.lower-case - variable.other.unknown.seconds - source: '*' scopes: @@ -7645,6 +7949,7 @@ - keyword.operator.arithmetic - source: micro_seconds scopes: + - variable.snake-case - variable.other.unknown.micro_seconds - source: ) scopes: @@ -7661,7 +7966,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: BriefDelay @@ -7713,7 +8018,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: BriefDelay @@ -7780,6 +8085,7 @@ - punctuation.section.parens.begin.bracket.round - source: seconds_ scopes: + - variable.snake-case - variable.other.unknown.seconds_ - source: '*' scopes: @@ -7808,7 +8114,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: LittleRandomDelay @@ -7866,7 +8172,7 @@ - storage.modifier.const - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: currentDateTime scopesBegin: @@ -7914,16 +8220,23 @@ scopesEnd: - comment.line.double-slash - source: time_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: now + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: time scopes: - entity.name.function.call @@ -7936,22 +8249,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: struct scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - storage.type.struct - source: tm scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: tstruct scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -7980,6 +8300,7 @@ - punctuation.terminator.statement - source: tstruct scopes: + - variable.lower-case - variable.other.unknown.tstruct - source: '=' scopes: @@ -7998,6 +8319,7 @@ - keyword.operator.bitwise - source: now scopes: + - variable.lower-case - variable.other.unknown.now - source: ) scopes: @@ -8025,6 +8347,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ',' scopes: @@ -8039,6 +8362,7 @@ - source: buf scopes: - meta.arguments.operator.sizeof + - variable.lower-case - variable.other.unknown.buf - source: ) scopes: @@ -8071,6 +8395,7 @@ - keyword.operator.bitwise - source: tstruct scopes: + - variable.lower-case - variable.other.unknown.tstruct - source: ) scopes: @@ -8083,6 +8408,7 @@ - keyword.control.return - source: buf scopes: + - variable.lower-case - variable.other.unknown.buf - source: ; scopes: @@ -8128,7 +8454,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: FlushStream scopesBegin: @@ -8151,7 +8477,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -8232,18 +8558,26 @@ scopesEnd: - comment.line.double-slash - source: streamsize + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: num_of_chars_discarded + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.num_of_chars_discarded - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -8257,6 +8591,7 @@ - punctuation.section.parens.begin.bracket.round - source: always_discard scopes: + - variable.snake-case - variable.other.unknown.always_discard - source: '||' scopes: @@ -8268,7 +8603,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -8307,7 +8643,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -8333,7 +8669,8 @@ - keyword.operator.logical - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -8351,7 +8688,8 @@ - keyword.operator.comparison - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -8406,7 +8744,8 @@ - comment.line.double-slash - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -8427,7 +8766,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: streamsize scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -8453,7 +8792,8 @@ - punctuation.separator.delimiter.comma - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -8493,7 +8833,8 @@ - keyword.operator.assignment - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -8530,7 +8871,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ClearScreen @@ -8553,6 +8894,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -8593,7 +8935,7 @@ - meta.body.function.definition - source: streamsize scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: FlushCin scopesBegin: @@ -8624,6 +8966,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cin scopes: + - variable.lower-case - variable.other.unknown.cin - source: ) scopes: @@ -8638,7 +8981,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -8659,12 +9002,17 @@ - source: string scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: input_data scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -8688,12 +9036,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cin scopes: + - variable.lower-case - variable.other.unknown.cin - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_data scopes: + - variable.snake-case - variable.other.unknown.input_data - source: ) scopes: @@ -8706,6 +9056,7 @@ - keyword.control.return - source: input_data scopes: + - variable.snake-case - variable.other.unknown.input_data - source: ; scopes: @@ -8717,7 +9068,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -8772,12 +9123,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cin scopes: + - variable.lower-case - variable.other.unknown.cin - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ) scopes: @@ -8790,6 +9143,7 @@ - keyword.control.return - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ; scopes: @@ -8801,7 +9155,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -8837,12 +9191,17 @@ - source: string scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: input_string scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -8866,12 +9225,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ) scopes: @@ -8884,6 +9245,7 @@ - keyword.control.return - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ; scopes: @@ -8895,7 +9257,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Getline scopesBegin: @@ -8962,12 +9324,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ) scopes: @@ -8980,6 +9344,7 @@ - keyword.control.return - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ; scopes: @@ -8991,7 +9356,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Pause @@ -9037,6 +9402,7 @@ - keyword.operator.logical - source: cin scopes: + - variable.lower-case - variable.other.unknown.cin - source: ) scopes: @@ -9045,7 +9411,8 @@ - meta.parens - source: cin scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cin - source: . scopes: - punctuation.separator.dot-access @@ -9063,7 +9430,8 @@ - punctuation.terminator.statement - source: cin scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cin - source: . scopes: - punctuation.separator.dot-access @@ -9086,7 +9454,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: BackSpace @@ -9130,6 +9498,7 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: @@ -9174,6 +9543,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -9198,6 +9568,7 @@ - punctuation.section.block.begin.bracket.curly - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -9220,6 +9591,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -9239,6 +9611,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -9261,7 +9634,8 @@ - punctuation.terminator.statement - source: cout scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cout - source: . scopes: - punctuation.separator.dot-access @@ -9306,7 +9680,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: TypeOut @@ -9349,13 +9723,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input_string ' +- source: input_string scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_string - source: . scopes: - punctuation.separator.dot-access @@ -9405,6 +9781,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -9451,7 +9828,8 @@ - punctuation.terminator.statement - source: cout scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cout - source: . scopes: - punctuation.separator.dot-access @@ -9469,6 +9847,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -9494,7 +9873,8 @@ - punctuation.terminator.statement - source: cout scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cout - source: . scopes: - punctuation.separator.dot-access @@ -9565,7 +9945,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: StreamAsString scopesBegin: @@ -9601,23 +9981,34 @@ - source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each_char scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -9631,7 +10022,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -9643,6 +10035,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: ) scopes: @@ -9654,29 +10047,39 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_str + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -9689,6 +10092,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9697,6 +10102,7 @@ - keyword.control.return - source: output_str scopes: + - variable.snake-case - variable.other.unknown.output_str - source: ; scopes: @@ -9708,7 +10114,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: StreamStatus scopesBegin: @@ -9744,12 +10150,17 @@ - source: string scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -9771,7 +10182,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -9791,6 +10203,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -9817,6 +10230,7 @@ - keyword.control.else - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -9856,7 +10270,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -9876,6 +10291,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -9902,6 +10318,7 @@ - keyword.control.else - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -9941,7 +10358,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -9961,6 +10379,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -9987,6 +10406,7 @@ - keyword.control.else - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -10026,7 +10446,8 @@ - punctuation.section.parens.begin.bracket.round - source: in_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.in_ - source: . scopes: - punctuation.separator.dot-access @@ -10046,6 +10467,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -10072,6 +10494,7 @@ - keyword.control.else - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -10098,6 +10521,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -10109,7 +10533,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -10149,7 +10573,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -10167,7 +10592,8 @@ - punctuation.terminator.statement - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -10186,6 +10612,7 @@ - punctuation.separator.scope-resolution - source: failbit scopes: + - variable.lower-case - variable.other.unknown.failbit - source: ) scopes: @@ -10198,6 +10625,7 @@ - keyword.control.return - source: input_stream scopes: + - variable.snake-case - variable.other.unknown.input_stream - source: ; scopes: @@ -10209,7 +10637,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: DidStreamFail @@ -10255,7 +10683,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -10305,7 +10734,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -10349,7 +10779,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EndOfStream @@ -10395,7 +10825,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -10438,7 +10869,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: StreamMatchesString @@ -10484,13 +10915,18 @@ - source: char scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: char_ scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -10505,13 +10941,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: input_string scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_string - source: . scopes: - punctuation.separator.dot-access @@ -10561,6 +10999,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -10609,7 +11048,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -10621,6 +11061,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: char_ scopes: + - variable.snake-case - variable.other.unknown.char_ - source: ) scopes: @@ -10662,6 +11103,7 @@ - punctuation.section.parens.begin.bracket.round - source: char_ scopes: + - variable.snake-case - variable.other.unknown.char_ - source: '!=' scopes: @@ -10728,7 +11170,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: EverythingUpTo scopesBegin: @@ -10774,23 +11216,34 @@ - source: char scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: char_ scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -10804,7 +11257,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_stream - source: . scopes: - punctuation.separator.dot-access @@ -10816,6 +11270,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: char_ scopes: + - variable.snake-case - variable.other.unknown.char_ - source: ) scopes: @@ -10832,18 +11287,21 @@ - punctuation.section.block.begin.bracket.curly - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: + scopes: - keyword.operator.arithmetic - source: char_ scopes: + - variable.snake-case - variable.other.unknown.char_ - source: ; scopes: @@ -10858,12 +11316,14 @@ - punctuation.section.parens.begin.bracket.round - source: char_ scopes: + - variable.snake-case - variable.other.unknown.char_ - source: '==' scopes: - keyword.operator.comparison - source: end_symbol scopes: + - variable.snake-case - variable.other.unknown.end_symbol - source: ) scopes: @@ -10875,6 +11335,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -10889,6 +11350,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -10900,7 +11362,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: EverythingUpTo scopesBegin: @@ -10934,23 +11396,34 @@ - source: char scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: char_ scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -10964,7 +11437,8 @@ - punctuation.section.parens.begin.bracket.round - source: cin scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cin - source: . scopes: - punctuation.separator.dot-access @@ -10976,6 +11450,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: char_ scopes: + - variable.snake-case - variable.other.unknown.char_ - source: ) scopes: @@ -10992,18 +11467,21 @@ - punctuation.section.block.begin.bracket.curly - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: + scopes: - keyword.operator.arithmetic - source: char_ scopes: + - variable.snake-case - variable.other.unknown.char_ - source: ; scopes: @@ -11018,12 +11496,14 @@ - punctuation.section.parens.begin.bracket.round - source: char_ scopes: + - variable.snake-case - variable.other.unknown.char_ - source: '==' scopes: - keyword.operator.comparison - source: end_symbol scopes: + - variable.snake-case - variable.other.unknown.end_symbol - source: ) scopes: @@ -11035,6 +11515,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -11049,6 +11530,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -11071,7 +11553,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: System @@ -11105,25 +11587,31 @@ - source: const scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - storage.modifier.specifier.const - source: char scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: conv_my_str + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.conv_my_str - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: input_string scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_string - source: . scopes: - punctuation.separator.dot-access @@ -11136,6 +11624,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -11161,7 +11651,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EndProgram @@ -11191,7 +11681,7 @@ - comment.line.double-slash - source: ofstream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: the_file_stream scopes: @@ -11238,7 +11728,7 @@ - punctuation.terminator.statement - source: the_file_stream scopes: - - variable.other.object.access + - variable.other.unknown.the_file_stream - source: . scopes: - punctuation.separator.dot-access @@ -11264,6 +11754,7 @@ - comment.line.double-slash - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -11322,7 +11813,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Poke @@ -11357,6 +11848,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -11377,6 +11869,7 @@ - keyword.operator.bitwise.shift - source: id_ scopes: + - variable.snake-case - variable.other.unknown.id_ - source: '<<' scopes: @@ -11427,7 +11920,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -11491,12 +11984,17 @@ - source: string scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: result scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -11516,6 +12014,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -11528,18 +12027,21 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: repetitions scopes: + - variable.lower-case - variable.other.unknown.repetitions - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -11553,12 +12055,14 @@ - meta.parens - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ; scopes: @@ -11568,6 +12072,7 @@ - keyword.control.return - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: ; scopes: @@ -11580,7 +12085,7 @@ - meta.body.function.definition.special.operator-overload - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -11644,12 +12149,17 @@ - source: string scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: result scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -11669,6 +12179,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -11681,18 +12192,21 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: repetitions scopes: + - variable.lower-case - variable.other.unknown.repetitions - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -11706,12 +12220,14 @@ - meta.parens - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ; scopes: @@ -11721,6 +12237,7 @@ - keyword.control.return - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: ; scopes: @@ -11736,7 +12253,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Substring scopesBegin: @@ -11798,6 +12315,7 @@ - punctuation.section.parens.begin.bracket.round - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: < scopes: @@ -11812,13 +12330,15 @@ - meta.parens - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11836,6 +12356,7 @@ - keyword.operator.arithmetic - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ; scopes: @@ -11853,13 +12374,15 @@ - punctuation.section.parens.begin.bracket.round - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11879,13 +12402,15 @@ - meta.parens - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11911,6 +12436,7 @@ - punctuation.section.parens.begin.bracket.round - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: < scopes: @@ -11925,13 +12451,15 @@ - meta.parens - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11949,6 +12477,7 @@ - keyword.operator.arithmetic - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: ; scopes: @@ -11966,13 +12495,15 @@ - punctuation.section.parens.begin.bracket.round - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -11992,13 +12523,15 @@ - meta.parens - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -12024,12 +12557,14 @@ - punctuation.section.parens.begin.bracket.round - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: ) scopes: @@ -12042,42 +12577,56 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: swap + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: start scopes: + - variable.lower-case - variable.other.unknown.start + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment - source: swap scopes: + - variable.lower-case - variable.other.unknown.swap - source: ; scopes: @@ -12092,7 +12641,8 @@ - keyword.control.return - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -12104,18 +12654,21 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: '-' scopes: - keyword.operator.arithmetic - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ) scopes: @@ -12130,7 +12683,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Substring scopesBegin: @@ -12183,19 +12736,22 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -12221,7 +12777,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Join scopesBegin: @@ -12244,7 +12800,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -12277,12 +12833,17 @@ - source: string scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: result scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -12302,6 +12863,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -12314,13 +12876,15 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -12344,6 +12908,7 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -12357,6 +12922,7 @@ - meta.parens - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: += scopes: @@ -12371,6 +12937,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -12382,12 +12949,14 @@ - keyword.operator.arithmetic - source: delimiter scopes: + - variable.lower-case - variable.other.unknown.delimiter - source: ; scopes: - punctuation.terminator.statement - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: += scopes: @@ -12402,7 +12971,8 @@ - punctuation.definition.begin.bracket.square - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -12434,6 +13004,7 @@ - keyword.control.return - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: ; scopes: @@ -12445,7 +13016,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Join scopesBegin: @@ -12468,7 +13039,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -12512,6 +13083,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ',' scopes: @@ -12530,6 +13102,7 @@ - punctuation.separator.delimiter.comma - source: delimiter scopes: + - variable.lower-case - variable.other.unknown.delimiter - source: ) scopesBegin: @@ -12547,7 +13120,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -12598,29 +13171,43 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: index + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: current scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -12634,13 +13221,15 @@ - punctuation.section.parens.begin.bracket.round - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: <= scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -12658,7 +13247,8 @@ - keyword.operator.arithmetic - source: oldstring scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.oldstring - source: . scopes: - punctuation.separator.dot-access @@ -12691,7 +13281,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -12703,13 +13294,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: oldstring scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.oldstring - source: . scopes: - punctuation.separator.dot-access @@ -12730,6 +13323,7 @@ - keyword.operator.comparison - source: oldstring scopes: + - variable.lower-case - variable.other.unknown.oldstring - source: ) scopes: @@ -12743,25 +13337,29 @@ - punctuation.section.block.begin.bracket.curly - source: current scopes: + - variable.lower-case - variable.other.unknown.current - source: += scopes: - keyword.operator.assignment.compound - source: newstring scopes: + - variable.lower-case - variable.other.unknown.newstring - source: ; scopes: - punctuation.terminator.statement - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: += scopes: - keyword.operator.assignment.compound - source: oldstring scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.oldstring - source: . scopes: - punctuation.separator.dot-access @@ -12790,6 +13388,7 @@ - meta.block - source: current scopes: + - variable.lower-case - variable.other.unknown.current - source: += scopes: @@ -12804,6 +13403,7 @@ - punctuation.definition.begin.bracket.square - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ']' scopes: @@ -12815,6 +13415,7 @@ - punctuation.terminator.statement - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ++ scopes: @@ -12832,6 +13433,7 @@ - keyword.control.return - source: current scopes: + - variable.lower-case - variable.other.unknown.current - source: ; scopes: @@ -12843,7 +13445,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -12905,6 +13507,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ',' scopes: @@ -12923,6 +13526,7 @@ - punctuation.separator.delimiter.comma - source: oldstring scopes: + - variable.lower-case - variable.other.unknown.oldstring - source: ) scopes: @@ -12932,6 +13536,7 @@ - punctuation.separator.delimiter.comma - source: newstring scopes: + - variable.lower-case - variable.other.unknown.newstring - source: ) scopes: @@ -12946,7 +13551,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -13008,12 +13613,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma - source: oldstring scopes: + - variable.lower-case - variable.other.unknown.oldstring - source: ',' scopes: @@ -13032,6 +13639,7 @@ - punctuation.separator.delimiter.comma - source: newstring scopes: + - variable.lower-case - variable.other.unknown.newstring - source: ) scopesBegin: @@ -13049,7 +13657,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -13112,6 +13720,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ',' scopes: @@ -13130,6 +13739,7 @@ - punctuation.separator.delimiter.comma - source: oldstring scopes: + - variable.lower-case - variable.other.unknown.oldstring - source: ) scopes: @@ -13151,6 +13761,7 @@ - punctuation.separator.delimiter.comma - source: newstring scopes: + - variable.lower-case - variable.other.unknown.newstring - source: ) scopesBegin: @@ -13168,7 +13779,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -13220,12 +13831,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma - source: oldstring scopes: + - variable.lower-case - variable.other.unknown.oldstring - source: ',' scopes: @@ -13253,7 +13866,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Replace scopesBegin: @@ -13306,6 +13919,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ',' scopes: @@ -13324,6 +13938,7 @@ - punctuation.separator.delimiter.comma - source: oldstring scopes: + - variable.lower-case - variable.other.unknown.oldstring - source: ) scopes: @@ -13354,7 +13969,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Strip scopesBegin: @@ -13418,7 +14033,8 @@ - punctuation.section.parens.begin.bracket.round - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -13469,22 +14085,31 @@ scopesEnd: - meta.block - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: num_front + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '-' scopes: - keyword.operator.arithmetic - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13498,7 +14123,8 @@ - punctuation.section.parens.begin.bracket.round - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -13513,6 +14139,7 @@ - keyword.operator.increment - source: num_front scopes: + - variable.snake-case - variable.other.unknown.num_front - source: ) scopes: @@ -13522,6 +14149,7 @@ - keyword.operator.comparison - source: junk scopes: + - variable.lower-case - variable.other.unknown.junk - source: ) scopes: @@ -13539,19 +14167,27 @@ scopesEnd: - meta.block - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: num_end + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -13564,6 +14200,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13577,7 +14215,8 @@ - punctuation.section.parens.begin.bracket.round - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -13592,6 +14231,7 @@ - keyword.operator.decrement - source: num_end scopes: + - variable.snake-case - variable.other.unknown.num_end - source: ) scopes: @@ -13601,6 +14241,7 @@ - keyword.operator.comparison - source: junk scopes: + - variable.lower-case - variable.other.unknown.junk - source: ) scopes: @@ -13622,7 +14263,8 @@ - keyword.control.return - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -13634,6 +14276,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: num_front scopes: + - variable.snake-case - variable.other.unknown.num_front - source: ',' scopes: @@ -13646,12 +14289,14 @@ - keyword.operator.arithmetic - source: num_end scopes: + - variable.snake-case - variable.other.unknown.num_end - source: '-' scopes: - keyword.operator.arithmetic - source: num_front scopes: + - variable.snake-case - variable.other.unknown.num_front - source: ) scopes: @@ -13666,7 +14311,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: GetWhileIncluded scopesBegin: @@ -13708,15 +14353,21 @@ - source: string scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -13726,6 +14377,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -13742,7 +14394,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each @@ -13753,6 +14405,7 @@ - punctuation.separator.colon.range-based - source: input scopes: + - variable.lower-case - variable.other.unknown.input scopesEnd: - meta.parens.control.for @@ -13790,12 +14443,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma - source: included_characters scopes: + - variable.snake-case - variable.other.unknown.included_characters - source: ) scopes: @@ -13820,7 +14475,8 @@ - comment.line.double-slash - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -13832,6 +14488,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ) scopes: @@ -13873,6 +14530,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -13884,7 +14542,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: RemoveWhileIncluded scopesBegin: @@ -13926,15 +14584,21 @@ - source: string scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -13944,24 +14608,33 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: number_of_char_to_ignore + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.number_of_char_to_ignore - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13977,7 +14650,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each @@ -13988,6 +14661,7 @@ - punctuation.separator.colon.range-based - source: input scopes: + - variable.lower-case - variable.other.unknown.input scopesEnd: - meta.parens.control.for @@ -14025,12 +14699,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma - source: included_characters scopes: + - variable.snake-case - variable.other.unknown.included_characters - source: ) scopes: @@ -14085,13 +14761,15 @@ - meta.block - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: - keyword.operator.assignment - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -14109,7 +14787,8 @@ - punctuation.separator.delimiter.comma - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -14139,6 +14818,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -14150,7 +14830,7 @@ - meta.body.function.definition - source: vector scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -14160,13 +14840,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Split scopesBegin: @@ -14209,7 +14889,8 @@ - source: vector scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -14219,23 +14900,28 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: chunks scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: chunks scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.chunks - source: . scopes: - punctuation.separator.dot-access @@ -14263,6 +14949,7 @@ - punctuation.terminator.statement - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: '=' scopes: @@ -14275,12 +14962,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ',' scopes: - punctuation.separator.delimiter.comma - source: splitter scopes: + - variable.lower-case - variable.other.unknown.splitter - source: ) scopes: @@ -14289,56 +14978,82 @@ scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: char_index + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '-' scopes: - keyword.operator.arithmetic - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: chunk_index + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prev_char_was_splitter + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.prev_char_was_splitter - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14355,13 +15070,15 @@ - keyword.operator.increment - source: char_index scopes: + - variable.snake-case - variable.other.unknown.char_index - source: < scopes: - keyword.operator.comparison - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -14385,19 +15102,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: char + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: current_character + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -14409,10 +15134,13 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: char_index scopes: + - variable.snake-case - variable.other.unknown.char_index - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14426,12 +15154,14 @@ - punctuation.section.parens.begin.bracket.round - source: current_character scopes: + - variable.snake-case - variable.other.unknown.current_character - source: '==' scopes: - keyword.operator.comparison - source: splitter scopes: + - variable.lower-case - variable.other.unknown.splitter - source: ) scopes: @@ -14470,7 +15200,8 @@ - punctuation.section.block.begin.bracket.curly - source: chunks scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.chunks - source: . scopes: - punctuation.separator.dot-access @@ -14501,6 +15232,7 @@ - keyword.operator.increment - source: chunk_index scopes: + - variable.snake-case - variable.other.unknown.chunk_index - source: ; scopes: @@ -14555,7 +15287,8 @@ - punctuation.terminator.statement - source: chunks scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.chunks - source: . scopes: - punctuation.separator.dot-access @@ -14567,6 +15300,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: chunk_index scopes: + - variable.snake-case - variable.other.unknown.chunk_index - source: ) scopes: @@ -14582,6 +15316,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: current_character scopes: + - variable.snake-case - variable.other.unknown.current_character - source: ) scopes: @@ -14604,6 +15339,7 @@ - keyword.control.return - source: chunks scopes: + - variable.lower-case - variable.other.unknown.chunks - source: ; scopes: @@ -14646,7 +15382,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: StartIndexOfFirst__In__ @@ -14696,40 +15432,56 @@ scopesEnd: - comment.line.double-slash - source: ostringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: stream1 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stream1 scopes: + - variable.lower-case - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: target_anytype scopes: + - variable.snake-case - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: target + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -14742,6 +15494,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14754,40 +15508,56 @@ scopesEnd: - comment.line.double-slash - source: ostringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: stream2 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stream2 scopes: + - variable.lower-case - variable.other.unknown.stream2 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: base_anytype scopes: + - variable.snake-case - variable.other.unknown.base_anytype - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: base + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream2 - source: . scopes: - punctuation.separator.dot-access @@ -14800,23 +15570,34 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: index + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14830,13 +15611,15 @@ - punctuation.section.parens.begin.bracket.round - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: + scopes: - keyword.operator.arithmetic - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -14854,7 +15637,8 @@ - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -14887,7 +15671,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -14899,13 +15684,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -14926,6 +15713,7 @@ - keyword.operator.comparison - source: target scopes: + - variable.lower-case - variable.other.unknown.target - source: ) scopes: @@ -14937,12 +15725,14 @@ - keyword.control.return - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ++ scopes: @@ -15005,7 +15795,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: StartIndexOfLast__In__ @@ -15055,40 +15845,56 @@ scopesEnd: - comment.line.double-slash - source: ostringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: stream1 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stream1 scopes: + - variable.lower-case - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: target_anytype scopes: + - variable.snake-case - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: target + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -15101,6 +15907,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15113,40 +15921,56 @@ scopesEnd: - comment.line.double-slash - source: ostringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: stream2 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stream2 scopes: + - variable.lower-case - variable.other.unknown.stream2 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: base_anytype scopes: + - variable.snake-case - variable.other.unknown.base_anytype - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: base + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream2 - source: . scopes: - punctuation.separator.dot-access @@ -15159,23 +15983,33 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: index + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -15193,7 +16027,8 @@ - keyword.operator.arithmetic - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -15206,6 +16041,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15219,6 +16056,7 @@ - punctuation.section.parens.begin.bracket.round - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ) scopes: @@ -15240,7 +16078,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -15252,13 +16091,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -15279,6 +16120,7 @@ - keyword.operator.comparison - source: target scopes: + - variable.lower-case - variable.other.unknown.target - source: ) scopes: @@ -15290,12 +16132,14 @@ - keyword.control.return - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: '--' scopes: @@ -15348,7 +16192,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -15364,7 +16208,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Indices scopesBegin: @@ -15413,40 +16257,56 @@ scopesEnd: - comment.line.double-slash - source: ostringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: stream1 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stream1 scopes: + - variable.lower-case - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: target_anytype scopes: + - variable.snake-case - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: target + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -15459,12 +16319,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: vector scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -15480,28 +16343,41 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: indices scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: index + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15515,13 +16391,15 @@ - punctuation.section.parens.begin.bracket.round - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: + scopes: - keyword.operator.arithmetic - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -15539,7 +16417,8 @@ - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -15572,7 +16451,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -15584,13 +16464,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -15611,6 +16493,7 @@ - keyword.operator.comparison - source: target scopes: + - variable.lower-case - variable.other.unknown.target - source: ) scopes: @@ -15619,7 +16502,8 @@ - meta.parens - source: indices scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.indices - source: . scopes: - punctuation.separator.dot-access @@ -15631,6 +16515,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ) scopes: @@ -15640,6 +16525,7 @@ - punctuation.terminator.statement - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ++ scopes: @@ -15657,6 +16543,7 @@ - keyword.control.return - source: indices scopes: + - variable.lower-case - variable.other.unknown.indices - source: ; scopes: @@ -15690,7 +16577,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Includes @@ -15740,40 +16627,56 @@ scopesEnd: - comment.line.double-slash - source: ostringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: stream1 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stream1 scopes: + - variable.lower-case - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: target_anytype scopes: + - variable.snake-case - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: target + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -15786,6 +16689,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15805,12 +16710,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: target scopes: + - variable.lower-case - variable.other.unknown.target - source: ',' scopes: - punctuation.separator.delimiter.comma - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ) scopes: @@ -15861,7 +16768,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Startswith @@ -15911,40 +16818,56 @@ scopesEnd: - comment.line.double-slash - source: ostringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: stream1 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stream1 scopes: + - variable.lower-case - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: target_anytype scopes: + - variable.snake-case - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: target + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -15957,6 +16880,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15970,7 +16895,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -15988,7 +16914,8 @@ - keyword.operator.comparison - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -16016,7 +16943,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -16034,7 +16962,8 @@ - punctuation.separator.delimiter.comma - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -16055,6 +16984,7 @@ - keyword.operator.comparison - source: target scopes: + - variable.lower-case - variable.other.unknown.target - source: ) scopes: @@ -16102,7 +17032,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Endswith @@ -16152,40 +17082,56 @@ scopesEnd: - comment.line.double-slash - source: ostringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: stream1 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stream1 scopes: + - variable.lower-case - variable.other.unknown.stream1 - source: '<<' scopes: - keyword.operator.bitwise.shift - source: target_anytype scopes: + - variable.snake-case - variable.other.unknown.target_anytype - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: target + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stream1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.stream1 - source: . scopes: - punctuation.separator.dot-access @@ -16198,6 +17144,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -16211,7 +17159,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -16229,7 +17178,8 @@ - keyword.operator.comparison - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -16257,7 +17207,8 @@ - punctuation.section.parens.begin.bracket.round - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -16269,7 +17220,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -16287,7 +17239,8 @@ - keyword.operator.arithmetic - source: target scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.target - source: . scopes: - punctuation.separator.dot-access @@ -16308,6 +17261,7 @@ - keyword.operator.comparison - source: target scopes: + - variable.lower-case - variable.other.unknown.target - source: ) scopes: @@ -16355,7 +17309,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: the__thDigitOf__ scopesBegin: @@ -16398,15 +17352,20 @@ - source: string scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: input_as_string + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.input_as_string - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: to_string scopes: - entity.name.function.call @@ -16415,10 +17374,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -16435,7 +17397,8 @@ - punctuation.definition.begin.bracket.square - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -16453,6 +17416,7 @@ - keyword.operator.arithmetic - source: position scopes: + - variable.lower-case - variable.other.unknown.position - source: ']' scopes: @@ -16469,7 +17433,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IsALegitFileName @@ -16514,15 +17478,21 @@ scopesEnd: - comment.line.double-slash - source: regex + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: is_not_obnoxious + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.is_not_obnoxious - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: regex scopes: - entity.name.function.call @@ -16551,6 +17521,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -16565,6 +17537,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: attempt_filename scopes: + - variable.snake-case - variable.other.unknown.attempt_filename - source: ',' scopes: @@ -16585,7 +17558,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Literal scopesBegin: @@ -16618,79 +17591,116 @@ - source: char scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each_char scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: char_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: char_stream scopes: + - variable.snake-case - variable.other.unknown.char_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: space_counter + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: newline_counter + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -16704,7 +17714,8 @@ - punctuation.section.parens.begin.bracket.round - source: char_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.char_stream - source: . scopes: - punctuation.separator.dot-access @@ -16716,6 +17727,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: ) scopes: @@ -16748,6 +17760,7 @@ - punctuation.section.parens.begin.bracket.round - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: '==' scopes: @@ -16774,6 +17787,7 @@ - punctuation.section.block.begin.bracket.curly - source: space_counter scopes: + - variable.snake-case - variable.other.unknown.space_counter - source: ++ scopes: @@ -16791,7 +17805,8 @@ - punctuation.section.parens.begin.bracket.round - source: char_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.char_stream - source: . scopes: - punctuation.separator.dot-access @@ -16829,6 +17844,7 @@ - punctuation.section.block.begin.bracket.curly - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -16857,6 +17873,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: space_counter scopes: + - variable.snake-case - variable.other.unknown.space_counter - source: ) scopes: @@ -16880,6 +17897,7 @@ - punctuation.terminator.statement - source: space_counter scopes: + - variable.snake-case - variable.other.unknown.space_counter - source: '=' scopes: @@ -16921,6 +17939,7 @@ - punctuation.section.parens.begin.bracket.round - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: '==' scopes: @@ -16950,6 +17969,7 @@ - punctuation.section.block.begin.bracket.curly - source: newline_counter scopes: + - variable.snake-case - variable.other.unknown.newline_counter - source: ++ scopes: @@ -16967,7 +17987,8 @@ - punctuation.section.parens.begin.bracket.round - source: char_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.char_stream - source: . scopes: - punctuation.separator.dot-access @@ -17008,6 +18029,7 @@ - punctuation.section.block.begin.bracket.curly - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -17036,6 +18058,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: newline_counter scopes: + - variable.snake-case - variable.other.unknown.newline_counter - source: ) scopes: @@ -17062,6 +18085,7 @@ - punctuation.terminator.statement - source: newline_counter scopes: + - variable.snake-case - variable.other.unknown.newline_counter - source: '=' scopes: @@ -17103,6 +18127,7 @@ - punctuation.section.parens.begin.bracket.round - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: '==' scopes: @@ -17127,6 +18152,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -17163,6 +18189,7 @@ - punctuation.section.parens.begin.bracket.round - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: '==' scopes: @@ -17187,6 +18214,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -17221,6 +18249,7 @@ - punctuation.section.parens.begin.bracket.round - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: '==' scopes: @@ -17245,6 +18274,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -17279,6 +18309,7 @@ - punctuation.section.parens.begin.bracket.round - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: '==' scopes: @@ -17303,6 +18334,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -17337,6 +18369,7 @@ - punctuation.section.parens.begin.bracket.round - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: '==' scopes: @@ -17361,6 +18394,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -17395,6 +18429,7 @@ - punctuation.section.parens.begin.bracket.round - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: '==' scopes: @@ -17419,6 +18454,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: @@ -17445,12 +18481,14 @@ - keyword.control.else - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: += scopes: - keyword.operator.assignment.compound - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: ; scopes: @@ -17465,6 +18503,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -17476,7 +18515,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Literal scopesBegin: @@ -17510,40 +18549,55 @@ - source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_str + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -17556,6 +18610,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -17570,6 +18626,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output_str scopes: + - variable.snake-case - variable.other.unknown.output_str - source: ) scopes: @@ -17584,7 +18641,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IsAllUpperCase @@ -17627,13 +18684,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input ' +- source: input scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.input - source: . scopes: - punctuation.separator.dot-access @@ -17683,6 +18742,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -17807,7 +18867,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IsAllUpperCase @@ -17858,6 +18918,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopesBegin: @@ -17875,7 +18936,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__CharIn__String @@ -17930,7 +18991,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each @@ -17941,6 +19002,7 @@ - punctuation.separator.colon.range-based - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string scopesEnd: - meta.parens.control.for @@ -17964,12 +19026,14 @@ - punctuation.section.parens.begin.bracket.round - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: '==' scopes: - keyword.operator.comparison - source: test_val scopes: + - variable.snake-case - variable.other.unknown.test_val - source: ) scopes: @@ -18016,7 +19080,7 @@ - meta.body.function.definition - source: vector scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -18026,13 +19090,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ExtractArguments scopesBegin: @@ -18129,7 +19193,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: pair scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -18146,13 +19210,13 @@ - punctuation.separator.delimiter.comma.template.argument - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: @@ -18215,7 +19279,8 @@ - source: vector scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -18225,40 +19290,54 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: arguments scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: index + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: vector scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.type - source: < @@ -18268,20 +19347,24 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: char_context_stack + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.char_context_stack - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -18301,20 +19384,27 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: previous_char_as_string + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.previous_char_as_string - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -18324,6 +19414,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -18340,7 +19431,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each @@ -18351,6 +19442,7 @@ - punctuation.separator.colon.range-based - source: content scopes: + - variable.lower-case - variable.other.unknown.content scopesEnd: - meta.parens.control.for @@ -18366,6 +19458,7 @@ - punctuation.section.block.begin.bracket.curly - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ++ scopes: @@ -18374,15 +19467,22 @@ scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '*' scopes: - keyword.operator.arithmetic @@ -18393,7 +19493,7 @@ - punctuation.section.parens.begin.bracket.round - source: char_context_stack scopes: - - variable.other.object.access + - variable.other.unknown.char_context_stack - source: . scopes: - punctuation.separator.dot-access @@ -18416,6 +19516,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -18438,6 +19539,7 @@ - punctuation.section.parens.begin.bracket.round - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: '==' scopes: @@ -18486,12 +19588,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma - source: end_characters scopes: + - variable.snake-case - variable.other.unknown.end_characters - source: ) scopes: @@ -18516,6 +19620,7 @@ - comment.line.double-slash - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: '--' scopes: @@ -18561,12 +19666,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma - source: ignore_characters scopes: + - variable.snake-case - variable.other.unknown.ignore_characters - source: ) scopes: @@ -18637,16 +19744,22 @@ scopesEnd: - comment.line.double-slash - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: is_first_arg + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.is_first_arg - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -18672,6 +19785,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -18685,16 +19799,22 @@ scopesEnd: - comment.line.double-slash - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: is_new_arg + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.is_new_arg - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: not scopes: - keyword.operator.wordlike @@ -18722,7 +19842,7 @@ - punctuation.section.parens.begin.bracket.round - source: previous_char_as_string scopes: - - variable.other.object.access + - variable.other.unknown.previous_char_as_string - source: . scopes: - punctuation.separator.dot-access @@ -18751,10 +19871,13 @@ - punctuation.separator.delimiter.comma - source: ignore_characters scopes: + - variable.snake-case - variable.other.unknown.ignore_characters - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -18788,7 +19911,8 @@ - punctuation.section.block.begin.bracket.curly - source: arguments scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.arguments - source: . scopes: - punctuation.separator.dot-access @@ -18847,7 +19971,8 @@ - punctuation.section.parens.begin.bracket.round - source: arguments scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.arguments - source: . scopes: - punctuation.separator.dot-access @@ -18887,6 +20012,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ) scopes: @@ -18927,12 +20053,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma - source: encapsulate_characters scopes: + - variable.snake-case - variable.other.unknown.encapsulate_characters - source: ) scopes: @@ -18949,7 +20077,7 @@ - punctuation.section.block.begin.bracket.curly - source: char_context_stack scopes: - - variable.other.object.access + - variable.other.unknown.char_context_stack - source: . scopes: - punctuation.separator.dot-access @@ -18967,6 +20095,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ) scopes: @@ -19010,7 +20139,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each_pair @@ -19021,6 +20150,7 @@ - punctuation.separator.colon.range-based - source: encapsulating_pairs scopes: + - variable.snake-case - variable.other.unknown.encapsulating_pairs scopesEnd: - meta.parens.control.for @@ -19058,6 +20188,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ',' scopes: @@ -19070,7 +20201,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.each_pair - source: . scopes: - punctuation.separator.dot-access @@ -19103,7 +20235,7 @@ - comment.line.double-slash - source: char_context_stack scopes: - - variable.other.object.access + - variable.other.unknown.char_context_stack - source: . scopes: - punctuation.separator.dot-access @@ -19115,7 +20247,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: each_pair scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.each_pair - source: . scopes: - punctuation.separator.dot-access @@ -19192,7 +20325,8 @@ - punctuation.section.parens.begin.bracket.round - source: arguments scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.arguments - source: . scopes: - punctuation.separator.dot-access @@ -19232,6 +20366,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ) scopes: @@ -19263,12 +20398,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -19293,7 +20430,7 @@ - comment.line.double-slash - source: char_context_stack scopes: - - variable.other.object.access + - variable.other.unknown.char_context_stack - source: . scopes: - punctuation.separator.dot-access @@ -19339,6 +20476,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ) scopes: @@ -19361,13 +20499,15 @@ - comment.line.double-slash - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -19379,13 +20519,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ',' scopes: - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -19415,6 +20557,7 @@ - keyword.control.return - source: arguments scopes: + - variable.lower-case - variable.other.unknown.arguments - source: ; scopes: @@ -19456,7 +20599,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ToBinary scopesBegin: @@ -19521,6 +20664,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -19547,7 +20691,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: BinaryToInt @@ -19613,6 +20757,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -19639,7 +20784,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Round @@ -19678,6 +20823,7 @@ - keyword.control.return - source: input_number scopes: + - variable.snake-case - variable.other.unknown.input_number - source: + scopes: @@ -19701,7 +20847,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Round @@ -19740,6 +20886,7 @@ - keyword.control.return - source: input_number scopes: + - variable.snake-case - variable.other.unknown.input_number - source: + scopes: @@ -19773,7 +20920,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -19789,7 +20936,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Range scopesBegin: @@ -19843,7 +20990,8 @@ - source: vector scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -19859,11 +21007,15 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: result scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -19877,6 +21029,7 @@ - punctuation.section.parens.begin.bracket.round - source: increment scopes: + - variable.lower-case - variable.other.unknown.increment - source: '>' scopes: @@ -19910,36 +21063,42 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: lower scopes: + - variable.lower-case - variable.other.unknown.lower - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: upper scopes: + - variable.lower-case - variable.other.unknown.upper - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: += scopes: - keyword.operator.assignment.compound - source: increment scopes: + - variable.lower-case - variable.other.unknown.increment scopesEnd: - meta.parens.control.for @@ -19955,7 +21114,8 @@ - punctuation.section.block.begin.bracket.curly - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -19967,6 +21127,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ) scopes: @@ -20008,36 +21169,42 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: lower scopes: + - variable.lower-case - variable.other.unknown.lower - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '>' scopes: - keyword.operator.comparison - source: upper scopes: + - variable.lower-case - variable.other.unknown.upper - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: += scopes: - keyword.operator.assignment.compound - source: increment scopes: + - variable.lower-case - variable.other.unknown.increment scopesEnd: - meta.parens.control.for @@ -20053,7 +21220,8 @@ - punctuation.section.block.begin.bracket.curly - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -20065,6 +21233,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ) scopes: @@ -20087,6 +21256,7 @@ - keyword.control.return - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: ; scopes: @@ -20098,7 +21268,7 @@ - meta.body.function.definition - source: vector scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -20114,7 +21284,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Range scopesBegin: @@ -20168,6 +21338,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: lower scopes: + - variable.lower-case - variable.other.unknown.lower - source: ',' scopes: @@ -20180,6 +21351,7 @@ - punctuation.separator.delimiter.comma - source: upper scopes: + - variable.lower-case - variable.other.unknown.upper - source: ) scopes: @@ -20194,7 +21366,7 @@ - meta.body.function.definition - source: vector scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -20210,7 +21382,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Range scopesBegin: @@ -20266,6 +21438,7 @@ - punctuation.separator.delimiter.comma - source: upper scopes: + - variable.lower-case - variable.other.unknown.upper - source: ) scopes: @@ -20506,7 +21679,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -20569,6 +21742,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -20621,6 +21795,7 @@ - punctuation.section.parens.begin.bracket.round - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -20629,6 +21804,7 @@ - meta.parens - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -20677,6 +21853,7 @@ - keyword.control.else - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -20725,6 +21902,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -20736,7 +21914,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -20826,6 +22004,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -20863,6 +22042,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -20879,15 +22059,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -20896,10 +22083,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -20921,6 +22111,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -20951,6 +22142,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -20976,6 +22168,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -21001,6 +22194,7 @@ - meta.parens - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: '=' scopes: @@ -21024,6 +22218,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -21049,6 +22244,7 @@ - meta.parens - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: '=' scopes: @@ -21081,6 +22277,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -21101,6 +22298,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -21123,7 +22321,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -21186,6 +22384,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -21230,6 +22429,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -21242,6 +22442,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_char scopes: + - variable.snake-case - variable.other.unknown.input_char - source: ) scopes: @@ -21270,6 +22471,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -21281,7 +22483,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -21341,6 +22543,7 @@ - comment.line.double-slash - source: input_char scopes: + - variable.snake-case - variable.other.unknown.input_char - source: '=' scopes: @@ -21401,6 +22604,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -21438,6 +22642,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -21454,15 +22659,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: char_content + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -21471,10 +22683,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -21496,6 +22711,7 @@ - punctuation.section.parens.begin.bracket.round - source: char_content scopes: + - variable.snake-case - variable.other.unknown.char_content - source: '==' scopes: @@ -21526,6 +22742,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -21551,7 +22768,8 @@ - punctuation.section.parens.begin.bracket.round - source: char_content scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.char_content - source: . scopes: - punctuation.separator.dot-access @@ -21627,6 +22845,7 @@ - meta.parens - source: input_char scopes: + - variable.snake-case - variable.other.unknown.input_char - source: '=' scopes: @@ -21664,6 +22883,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -21690,6 +22910,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -21710,6 +22931,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -21732,7 +22954,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -21795,6 +23017,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -21839,6 +23062,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -21851,6 +23075,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -21879,6 +23104,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -21890,7 +23116,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -21980,6 +23206,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -22017,6 +23244,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -22033,15 +23261,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -22050,10 +23285,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -22075,6 +23313,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -22105,6 +23344,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -22121,12 +23361,17 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content_as_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.content_as_stream + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -22138,18 +23383,24 @@ - keyword.operator.bitwise.shift - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -22161,13 +23412,14 @@ - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement - source: content_as_stream scopes: - - variable.other.object.access + - variable.other.unknown.content_as_stream - source: . scopes: - punctuation.separator.dot-access @@ -22230,6 +23482,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -22250,6 +23503,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -22272,7 +23526,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -22335,6 +23589,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -22378,17 +23633,24 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '<<' scopes: @@ -22410,6 +23672,7 @@ - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: @@ -22424,6 +23687,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -22436,7 +23700,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -22476,6 +23741,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -22487,7 +23753,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -22577,6 +23843,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -22614,6 +23881,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -22630,15 +23898,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -22647,10 +23922,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -22672,6 +23950,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -22702,6 +23981,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -22718,12 +23998,17 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content_as_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.content_as_stream + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -22735,18 +24020,24 @@ - keyword.operator.bitwise.shift - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -22758,13 +24049,14 @@ - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement - source: content_as_stream scopes: - - variable.other.object.access + - variable.other.unknown.content_as_stream - source: . scopes: - punctuation.separator.dot-access @@ -22827,6 +24119,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -22847,6 +24140,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -22869,7 +24163,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -22936,6 +24230,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -22979,17 +24274,24 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '<<' scopes: @@ -23011,6 +24313,7 @@ - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: @@ -23025,6 +24328,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -23037,7 +24341,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -23077,6 +24382,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -23088,7 +24394,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -23182,6 +24488,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -23219,6 +24526,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -23235,15 +24543,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -23252,10 +24567,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -23277,6 +24595,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -23307,6 +24626,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -23323,12 +24643,17 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content_as_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.content_as_stream + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -23340,18 +24665,24 @@ - keyword.operator.bitwise.shift - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -23363,13 +24694,14 @@ - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: - punctuation.terminator.statement - source: content_as_stream scopes: - - variable.other.object.access + - variable.other.unknown.content_as_stream - source: . scopes: - punctuation.separator.dot-access @@ -23432,6 +24764,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -23452,6 +24785,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -23474,7 +24808,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -23536,6 +24870,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -23580,6 +24915,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -23592,6 +24928,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -23620,6 +24957,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -23631,7 +24969,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -23720,6 +25058,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -23757,6 +25096,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -23773,15 +25113,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -23790,10 +25137,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -23815,6 +25165,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -23845,6 +25196,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -23878,7 +25230,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -23934,6 +25287,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -23951,13 +25305,15 @@ - comment.line.double-slash - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: '=' scopes: - keyword.operator.assignment - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -23975,7 +25331,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -24013,6 +25370,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -24035,7 +25393,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -24104,6 +25462,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -24148,6 +25507,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -24160,6 +25520,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -24188,6 +25549,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -24229,7 +25591,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -24291,6 +25653,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -24335,6 +25698,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -24347,6 +25711,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -24375,6 +25740,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -24408,7 +25774,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -24497,6 +25863,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -24534,6 +25901,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -24550,15 +25918,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -24567,10 +25942,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -24592,6 +25970,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -24622,6 +26001,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -24655,7 +26035,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -24711,6 +26092,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -24727,24 +26109,32 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: transfer_method scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -24762,7 +26152,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -24789,12 +26180,14 @@ - punctuation.terminator.statement - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: '>>' scopes: - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: @@ -24823,6 +26216,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ) scopes: @@ -24843,6 +26237,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -24863,6 +26258,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -24904,7 +26300,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: AsString scopesBegin: @@ -24943,12 +26339,17 @@ - source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -24960,12 +26361,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -25005,6 +26408,7 @@ - punctuation.separator.delimiter.comma - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: ) scopes: @@ -25021,15 +26425,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -25038,10 +26449,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -25055,13 +26469,15 @@ - comment.line.double-slash - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -25079,7 +26495,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -25109,6 +26526,7 @@ - keyword.control.return - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: ; scopes: @@ -25142,7 +26560,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: TypeAsString scopesBegin: @@ -25181,12 +26599,17 @@ - source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -25198,12 +26621,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -25220,15 +26645,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: name + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: EverythingUpTo scopes: - entity.name.function.call @@ -25253,10 +26685,13 @@ - punctuation.separator.delimiter.comma - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -25270,13 +26705,15 @@ - comment.line.double-slash - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: '=' scopes: - keyword.operator.assignment - source: name scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.name - source: . scopes: - punctuation.separator.dot-access @@ -25294,7 +26731,8 @@ - punctuation.separator.delimiter.comma - source: name scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.name - source: . scopes: - punctuation.separator.dot-access @@ -25324,6 +26762,7 @@ - keyword.control.return - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ; scopes: @@ -25377,7 +26816,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -25410,23 +26849,30 @@ - source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: out scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: @@ -25436,7 +26882,8 @@ - keyword.control.return - source: out scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.out - source: . scopes: - punctuation.separator.dot-access @@ -25470,7 +26917,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -25504,12 +26951,17 @@ - source: string scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -25523,6 +26975,7 @@ - punctuation.section.parens.begin.bracket.round - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: '==' scopes: @@ -25537,6 +26990,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: @@ -25560,6 +27014,7 @@ - keyword.control.else - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: @@ -25583,6 +27038,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -25605,7 +27061,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -25649,6 +27105,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -25674,7 +27131,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -25718,6 +27175,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -25743,7 +27201,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -25787,6 +27245,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -25812,7 +27271,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -25849,6 +27308,7 @@ - keyword.control.return - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: @@ -25871,7 +27331,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormatDollars scopesBegin: @@ -25905,23 +27365,30 @@ - source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift - source: fixed scopes: + - variable.lower-case - variable.other.unknown.fixed - source: '<<' scopes: @@ -25943,6 +27410,7 @@ - punctuation.terminator.statement - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '<<' scopes: @@ -25963,12 +27431,14 @@ - punctuation.terminator.statement - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: @@ -25978,7 +27448,8 @@ - keyword.control.return - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -26036,35 +27507,43 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: stringstream + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.stringstream - source: output scopes: - variable.other.unknown.output + scopesEnd: + - variable.lower-case - source: ; scopes: - punctuation.terminator.statement - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift - source: ARGS scopes: + - variable.upper-case - variable.other.unknown.ARGS - source: ; scopes: - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -26113,7 +27592,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Show scopesBegin: @@ -26147,6 +27626,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -26159,6 +27639,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -26177,6 +27658,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -26202,7 +27684,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Ask scopesBegin: @@ -26236,26 +27718,34 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: question_ scopes: + - variable.snake-case - variable.other.unknown.question_ - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Answer + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.Answer - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -26265,6 +27755,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -26277,6 +27768,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cin scopes: + - variable.lower-case - variable.other.unknown.cin - source: ',' scopes: @@ -26306,7 +27798,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AskForAnInt @@ -26363,7 +27855,7 @@ - comment.line.double-slash - source: regex scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: is_it_an_int scopes: @@ -26393,15 +27885,22 @@ scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: answer_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -26411,6 +27910,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -26446,6 +27946,7 @@ - punctuation.section.block.begin.bracket.curly - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: '=' scopes: @@ -26458,6 +27959,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ scopes: + - variable.snake-case - variable.other.unknown.question_ - source: ) scopes: @@ -26489,6 +27991,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: ',' scopes: @@ -26515,6 +28018,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: ) scopes: @@ -26524,6 +28028,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -26574,7 +28079,7 @@ - meta.body.function.definition - source: double scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AskForANumber @@ -26631,7 +28136,7 @@ - comment.line.double-slash - source: regex scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: is_it_a_number scopes: @@ -26673,15 +28178,22 @@ scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: answer_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -26691,6 +28203,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -26726,6 +28239,7 @@ - punctuation.section.block.begin.bracket.curly - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: '=' scopes: @@ -26738,6 +28252,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ scopes: + - variable.snake-case - variable.other.unknown.question_ - source: ) scopes: @@ -26769,6 +28284,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: ',' scopes: @@ -26795,6 +28311,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: ) scopes: @@ -26804,6 +28321,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -26854,7 +28372,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AskForAnIntFrom__To__ @@ -26908,16 +28426,22 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: integer_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: AskForAnInt scopes: - entity.name.function.call @@ -26926,23 +28450,33 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ scopes: + - variable.snake-case - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: internal_question + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -26965,6 +28499,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: smallest scopes: + - variable.lower-case - variable.other.unknown.smallest - source: ) scopes: @@ -26994,6 +28529,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: largest scopes: + - variable.lower-case - variable.other.unknown.largest - source: ) scopes: @@ -27013,6 +28549,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -27061,12 +28598,14 @@ - punctuation.section.parens.begin.bracket.round - source: integer_ scopes: + - variable.snake-case - variable.other.unknown.integer_ - source: '>=' scopes: - keyword.operator.comparison - source: smallest scopes: + - variable.lower-case - variable.other.unknown.smallest - source: ) scopes: @@ -27083,12 +28622,14 @@ - punctuation.section.parens.begin.bracket.round - source: integer_ scopes: + - variable.snake-case - variable.other.unknown.integer_ - source: <= scopes: - keyword.operator.comparison - source: largest scopes: + - variable.lower-case - variable.other.unknown.largest - source: ) scopes: @@ -27118,6 +28659,7 @@ - meta.block - source: integer_ scopes: + - variable.snake-case - variable.other.unknown.integer_ - source: '=' scopes: @@ -27130,6 +28672,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: internal_question scopes: + - variable.snake-case - variable.other.unknown.internal_question - source: ) scopes: @@ -27147,6 +28690,7 @@ - keyword.control.return - source: integer_ scopes: + - variable.snake-case - variable.other.unknown.integer_ - source: ; scopes: @@ -27158,7 +28702,7 @@ - meta.body.function.definition - source: double scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AskForADoubleFrom__To__ @@ -27212,16 +28756,22 @@ - source: double scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: number_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: AskForANumber scopes: - entity.name.function.call @@ -27230,23 +28780,33 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ scopes: + - variable.snake-case - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: internal_question + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -27269,6 +28829,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: smallest scopes: + - variable.lower-case - variable.other.unknown.smallest - source: ) scopes: @@ -27298,6 +28859,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: largest scopes: + - variable.lower-case - variable.other.unknown.largest - source: ) scopes: @@ -27317,6 +28879,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -27365,12 +28928,14 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '>=' scopes: - keyword.operator.comparison - source: smallest scopes: + - variable.lower-case - variable.other.unknown.smallest - source: ) scopes: @@ -27387,12 +28952,14 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: <= scopes: - keyword.operator.comparison - source: largest scopes: + - variable.lower-case - variable.other.unknown.largest - source: ) scopes: @@ -27422,6 +28989,7 @@ - meta.block - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '=' scopes: @@ -27434,6 +29002,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: internal_question scopes: + - variable.snake-case - variable.other.unknown.internal_question - source: ) scopes: @@ -27451,6 +29020,7 @@ - keyword.control.return - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: ; scopes: @@ -27462,7 +29032,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AskYesOrNo @@ -27525,15 +29095,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: answer_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Ask scopes: - entity.name.function.call @@ -27542,10 +29119,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ scopes: + - variable.snake-case - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -27564,6 +29144,7 @@ - punctuation.section.parens.begin.bracket.round - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: '==' scopes: @@ -27584,6 +29165,7 @@ - keyword.operator.logical - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: '==' scopes: @@ -27604,6 +29186,7 @@ - keyword.operator.logical - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: '==' scopes: @@ -27624,6 +29207,7 @@ - keyword.operator.logical - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: '==' scopes: @@ -27686,6 +29270,7 @@ - punctuation.section.parens.begin.bracket.round - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: '==' scopes: @@ -27706,6 +29291,7 @@ - keyword.operator.logical - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: '==' scopes: @@ -27726,6 +29312,7 @@ - keyword.operator.logical - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: '==' scopes: @@ -27746,6 +29333,7 @@ - keyword.operator.logical - source: answer_ scopes: + - variable.snake-case - variable.other.unknown.answer_ - source: '==' scopes: @@ -27792,6 +29380,7 @@ - meta.block - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -27828,6 +29417,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -27874,7 +29464,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: AskForAFileName scopesBegin: @@ -27928,15 +29518,22 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: file_name + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Ask scopes: - entity.name.function.call @@ -27945,10 +29542,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ scopes: + - variable.snake-case - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -27968,6 +29568,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: file_name scopes: + - variable.snake-case - variable.other.unknown.file_name - source: ) scopes: @@ -27987,6 +29588,7 @@ - keyword.control.return - source: file_name scopes: + - variable.snake-case - variable.other.unknown.file_name - source: ; scopes: @@ -28006,6 +29608,7 @@ - comment.line.double-slash - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -28039,7 +29642,7 @@ - meta.body.function.definition - source: fstream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: AskUserForExistingFile scopesBegin: @@ -28093,15 +29696,22 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: name_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: AskForAFileName scopes: - entity.name.function.call @@ -28110,16 +29720,19 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: question_ scopes: + - variable.snake-case - variable.other.unknown.question_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: fstream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: the_file scopes: @@ -28129,6 +29742,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: name_ scopes: + - variable.snake-case - variable.other.unknown.name_ - source: ) scopes: @@ -28165,6 +29779,7 @@ - punctuation.section.parens.begin.bracket.round - source: the_file scopes: + - variable.snake-case - variable.other.unknown.the_file - source: ) scopes: @@ -28186,6 +29801,7 @@ - keyword.control.return - source: the_file scopes: + - variable.snake-case - variable.other.unknown.the_file - source: ; scopes: @@ -28197,6 +29813,7 @@ - meta.block - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -28260,7 +29877,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Save__In__ @@ -28304,7 +29921,7 @@ scopesBegin: - meta.body.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: the_file_stream scopes: @@ -28314,6 +29931,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location scopes: + - variable.snake-case - variable.other.unknown.file_location - source: ) scopes: @@ -28344,7 +29962,7 @@ - punctuation.terminator.statement - source: the_file_stream scopes: - - variable.other.object.access + - variable.other.unknown.the_file_stream - source: . scopes: - punctuation.separator.dot-access @@ -28389,7 +30007,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Load__From__ @@ -28436,7 +30054,7 @@ scopesBegin: - meta.body.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: the_file_stream scopes: @@ -28446,6 +30064,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location scopes: + - variable.snake-case - variable.other.unknown.file_location - source: ) scopes: @@ -28476,7 +30095,7 @@ - punctuation.terminator.statement - source: the_file_stream scopes: - - variable.other.object.access + - variable.other.unknown.the_file_stream - source: . scopes: - punctuation.separator.dot-access @@ -28499,7 +30118,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: SaveFile @@ -28543,7 +30162,7 @@ scopesBegin: - meta.body.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: the_file_stream scopes: @@ -28553,6 +30172,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location scopes: + - variable.snake-case - variable.other.unknown.file_location - source: ) scopes: @@ -28568,13 +30188,14 @@ - keyword.operator.bitwise.shift - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement - source: the_file_stream scopes: - - variable.other.object.access + - variable.other.unknown.the_file_stream - source: . scopes: - punctuation.separator.dot-access @@ -28597,7 +30218,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ReadFile scopesBegin: @@ -28631,7 +30252,7 @@ scopesBegin: - meta.body.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: the_file scopes: @@ -28641,6 +30262,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location scopes: + - variable.snake-case - variable.other.unknown.file_location - source: ) scopes: @@ -28650,7 +30272,7 @@ - punctuation.terminator.statement - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content scopes: @@ -28687,6 +30309,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_file scopes: + - variable.snake-case - variable.other.unknown.the_file - source: ) scopes: @@ -28732,7 +30355,8 @@ - punctuation.terminator.statement - source: the_file scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.the_file - source: . scopes: - punctuation.separator.dot-access @@ -28753,6 +30377,7 @@ - keyword.control.return - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: ; scopes: @@ -28764,7 +30389,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: OpenFileAsString scopesBegin: @@ -28798,7 +30423,7 @@ scopesBegin: - meta.body.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: the_file scopes: @@ -28808,6 +30433,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location scopes: + - variable.snake-case - variable.other.unknown.file_location - source: ) scopes: @@ -28844,6 +30470,7 @@ - punctuation.section.parens.begin.bracket.round - source: the_file scopes: + - variable.snake-case - variable.other.unknown.the_file - source: ) scopes: @@ -28871,6 +30498,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: file_location scopes: + - variable.snake-case - variable.other.unknown.file_location - source: ) scopes: @@ -28937,7 +30565,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -28990,7 +30618,8 @@ - comment.line.double-slash - source: function scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.type - source: < @@ -29010,17 +30639,22 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '&' scopes: - storage.modifier.reference - source: func + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '*' scopes: - keyword.operator.arithmetic @@ -29033,6 +30667,7 @@ - keyword.operator.comparison - source: function scopes: + - variable.lower-case - variable.other.unknown.function - source: < scopes: @@ -29070,11 +30705,13 @@ - punctuation.section.parens.begin.bracket.round - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -29263,19 +30900,25 @@ scopesEnd: - comment.line.double-slash - source: pthread_t + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread - source: thread scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -29310,7 +30953,8 @@ - punctuation.terminator.statement - source: function scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -29320,33 +30964,37 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( - source: ANY_INPUT_TYPE scopesBegin: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: argument scopesEnd: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ) - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: lambda_thread_function scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.lambda_thread_function + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: function scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -29366,65 +31014,98 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: functional_wrapper scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: ANY_OUTPUT_TYPE + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: ANY_INPUT_TYPE + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: arguments scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: use_lambda + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: has_been_waited_on + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.has_been_waited_on - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -29542,16 +31223,16 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( - source: ANY_INPUT_TYPE scopesBegin: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: argument scopesEnd: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ) - source: '>' @@ -29587,6 +31268,7 @@ scopesBegin: - meta.body.function.definition.special.constructor scopes: + - variable.snake-case - variable.other.unknown.use_lambda - source: '=' scopes: @@ -29605,18 +31287,21 @@ - keyword.operator.assignment - source: input_function scopes: + - variable.snake-case - variable.other.unknown.input_function - source: ; scopes: - punctuation.terminator.statement - source: arguments scopes: + - variable.lower-case - variable.other.unknown.arguments - source: '=' scopes: - keyword.operator.assignment - source: input_arguments scopes: + - variable.snake-case - variable.other.unknown.input_arguments - source: ; scopes: @@ -29641,7 +31326,7 @@ - meta.function.definition.parameters.special.constructor - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -29687,12 +31372,14 @@ scopesBegin: - meta.body.function.definition.special.constructor scopes: + - variable.snake-case - variable.other.unknown.thread_function - source: '=' scopes: - keyword.operator.assignment - source: input_function scopes: + - variable.snake-case - variable.other.unknown.input_function - source: ; scopes: @@ -29717,7 +31404,7 @@ - meta.function.definition.parameters.special.constructor - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -29772,34 +31459,41 @@ scopesBegin: - meta.body.function.definition.special.constructor scopes: + - variable.snake-case - variable.other.unknown.thread_function - source: '=' scopes: - keyword.operator.assignment - source: input_function scopes: + - variable.snake-case - variable.other.unknown.input_function - source: ; scopes: - punctuation.terminator.statement - source: arguments scopes: + - variable.lower-case - variable.other.unknown.arguments - source: '=' scopes: - keyword.operator.assignment - source: ANY_INPUT_TYPE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input_arguments scopes: + - variable.snake-case - variable.other.unknown.input_arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -29822,7 +31516,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Start @@ -29904,6 +31598,7 @@ - punctuation.section.block.begin.bracket.curly - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -29946,6 +31641,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -29969,6 +31665,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -30025,6 +31722,7 @@ - punctuation.terminator.statement - source: functional_wrapper scopes: + - variable.snake-case - variable.other.unknown.functional_wrapper - source: '=' scopes: @@ -30111,6 +31809,7 @@ - punctuation.section.parens.begin.bracket.round - source: use_lambda scopes: + - variable.snake-case - variable.other.unknown.use_lambda - source: ) scopes: @@ -30124,6 +31823,7 @@ - punctuation.section.block.begin.bracket.curly - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: @@ -30136,6 +31836,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments scopes: + - variable.lower-case - variable.other.unknown.arguments - source: ) scopes: @@ -30158,6 +31859,7 @@ - punctuation.section.block.begin.bracket.curly - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: @@ -30170,6 +31872,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments scopes: + - variable.lower-case - variable.other.unknown.arguments - source: ) scopes: @@ -30240,18 +31943,21 @@ - keyword.operator.bitwise - source: thread scopes: + - variable.lower-case - variable.other.unknown.thread - source: ',' scopes: - punctuation.separator.delimiter.comma - source: attributes scopes: + - variable.lower-case - variable.other.unknown.attributes - source: ',' scopes: - punctuation.separator.delimiter.comma - source: thread_stub scopes: + - variable.snake-case - variable.other.unknown.thread_stub - source: ',' scopes: @@ -30261,6 +31967,7 @@ - keyword.operator.bitwise - source: functional_wrapper scopes: + - variable.snake-case - variable.other.unknown.functional_wrapper - source: ) scopes: @@ -30275,7 +31982,7 @@ - meta.body.function.definition - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: WaitForCompletion scopesBegin: @@ -30310,6 +32017,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: thread scopes: + - variable.lower-case - variable.other.unknown.thread - source: ',' scopes: @@ -30356,6 +32064,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -30465,11 +32174,13 @@ scopesEnd: - comment.line.double-slash - source: static + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.static - source: map scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -30479,7 +32190,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: TaskClass scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -30489,20 +32200,20 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '*' scopes: @@ -30518,17 +32229,22 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: links_to scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: TaskClass scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.type - source: < @@ -30538,39 +32254,47 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '*' scopes: - storage.modifier.pointer - source: ptr_to_original + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.ptr_to_original - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: nullptr scopes: - constant.language.nullptr + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: pthread_t + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - support.type.posix-reserved.pthread - support.type.built-in.posix-reserved.pthread - source: '&' @@ -30578,7 +32302,11 @@ - storage.modifier.reference - source: thread scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -30653,14 +32381,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -30734,7 +32462,8 @@ - punctuation.section.parens.begin.bracket.round - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -30755,7 +32484,8 @@ - keyword.operator.comparison - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -30848,13 +32578,14 @@ - punctuation.terminator.statement - source: thread scopes: + - variable.lower-case - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment - source: a_task_ptr scopes: - - variable.other.object.access + - variable.other.unknown.a_task_ptr - source: '->' scopes: - punctuation.separator.pointer-access @@ -30933,7 +32664,8 @@ - keyword.operator.assignment - source: obj scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.obj - source: . scopes: - punctuation.separator.dot-access @@ -30945,19 +32677,21 @@ - punctuation.terminator.statement - source: thread scopes: + - variable.lower-case - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment - source: obj scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.obj - source: . scopes: - punctuation.separator.dot-access - source: ptr_to_original scopes: - - variable.other.object.property + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -30985,7 +32719,8 @@ - punctuation.section.parens.begin.bracket.round - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -31006,7 +32741,8 @@ - keyword.operator.comparison - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -31237,7 +32973,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: SetOriginal @@ -31261,14 +32997,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -31302,6 +33038,7 @@ - keyword.operator.assignment - source: a_pointer scopes: + - variable.snake-case - variable.other.unknown.a_pointer - source: ; scopes: @@ -31330,6 +33067,7 @@ - punctuation.terminator.statement - source: thread scopes: + - variable.lower-case - variable.other.unknown.thread - source: '=' scopes: @@ -31344,7 +33082,8 @@ - punctuation.section.parens.begin.bracket.round - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -31366,7 +33105,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Start @@ -31503,7 +33242,7 @@ - punctuation.section.block.begin.bracket.curly - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -31531,7 +33270,7 @@ - meta.body.function.definition - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: WaitForCompletion scopesBegin: @@ -31556,7 +33295,7 @@ - keyword.control.return - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -31579,7 +33318,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: StillRunning @@ -31609,7 +33348,7 @@ - keyword.operator.not - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -31637,7 +33376,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -31691,7 +33430,8 @@ - keyword.operator.assignment - source: obj scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.obj - source: . scopes: - punctuation.separator.dot-access @@ -31703,19 +33443,21 @@ - punctuation.terminator.statement - source: thread scopes: + - variable.lower-case - variable.other.unknown.thread - source: '=' scopes: - keyword.operator.assignment - source: obj scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.obj - source: . scopes: - punctuation.separator.dot-access - source: ptr_to_original scopes: - - variable.other.object.property + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -31743,7 +33485,8 @@ - punctuation.section.parens.begin.bracket.round - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -31764,7 +33507,8 @@ - keyword.operator.comparison - source: links_to scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.links_to - source: . scopes: - punctuation.separator.dot-access @@ -31911,6 +33655,7 @@ - meta.template.definition - source: map scopes: + - variable.lower-case - variable.other.unknown.map - source: < scopes: @@ -31923,12 +33668,14 @@ - keyword.operator.comparison - source: ANY_OUTPUT_TYPE scopes: + - variable.upper-case - variable.other.unknown.ANY_OUTPUT_TYPE - source: ',' scopes: - punctuation.separator.delimiter.comma - source: ANY_INPUT_TYPE scopes: + - variable.upper-case - variable.other.unknown.ANY_INPUT_TYPE - source: '>' scopes: @@ -31957,14 +33704,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -31978,6 +33725,7 @@ - punctuation.separator.scope-resolution - source: links_to scopes: + - variable.snake-case - variable.other.unknown.links_to - source: ; scopes: @@ -32042,10 +33790,12 @@ scopesBegin: - meta.arguments.decltype scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: decltype scopes: - keyword.operator.functionlike @@ -32057,6 +33807,7 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.upper-case - variable.other.unknown.ARG - source: ) scopes: @@ -32065,6 +33816,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case scopesEnd: - meta.arguments.decltype - source: ) @@ -32084,6 +33836,7 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.upper-case - variable.other.unknown.ARG - source: ) scopes: @@ -32122,10 +33875,12 @@ scopesBegin: - meta.arguments.decltype scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: decltype scopes: - keyword.operator.functionlike @@ -32137,6 +33892,7 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.upper-case - variable.other.unknown.ARG - source: ) scopes: @@ -32145,6 +33901,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case scopesEnd: - meta.arguments.decltype - source: ) @@ -32164,6 +33921,7 @@ - source: ARG scopes: - meta.arguments.decltype + - variable.upper-case - variable.other.unknown.ARG - source: ) scopes: @@ -32179,12 +33937,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: FUNC scopes: + - variable.upper-case - variable.other.unknown.FUNC - source: ',' scopes: - punctuation.separator.delimiter.comma - source: ARG scopes: + - variable.upper-case - variable.other.unknown.ARG - source: ) scopesBegin: @@ -32209,7 +33969,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -32264,6 +34024,7 @@ - variable.other.unknown._Nullable - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '=' scopes: @@ -32282,12 +34043,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: thread scopes: + - variable.lower-case - variable.other.unknown.thread - source: ',' scopes: - punctuation.separator.delimiter.comma - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ) scopes: @@ -32317,6 +34080,7 @@ - meta.parens - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -32359,7 +34123,8 @@ - comment.line.double-slash - source: map scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -32385,11 +34150,14 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: map_of_locks scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.map_of_locks + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -32405,7 +34173,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Lock @@ -32459,7 +34227,7 @@ - punctuation.section.parens.begin.bracket.round - source: map_of_locks scopes: - - variable.other.object.access + - variable.other.unknown.map_of_locks - source: . scopes: - punctuation.separator.dot-access @@ -32471,6 +34239,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: varaible_address scopes: + - variable.snake-case - variable.other.unknown.varaible_address - source: ) scopes: @@ -32480,7 +34249,7 @@ - keyword.operator.comparison - source: map_of_locks scopes: - - variable.other.object.access + - variable.other.unknown.map_of_locks - source: . scopes: - punctuation.separator.dot-access @@ -32521,6 +34290,7 @@ - punctuation.definition.begin.bracket.square - source: varaible_address scopes: + - variable.snake-case - variable.other.unknown.varaible_address - source: ']' scopes: @@ -32532,6 +34302,7 @@ - keyword.operator.assignment - source: PTHREAD_MUTEX_INITIALIZER scopes: + - variable.upper-case - variable.other.unknown.PTHREAD_MUTEX_INITIALIZER - source: ; scopes: @@ -32573,6 +34344,7 @@ - punctuation.definition.begin.bracket.square - source: varaible_address scopes: + - variable.snake-case - variable.other.unknown.varaible_address - source: ']' scopes: @@ -32597,7 +34369,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Unlock @@ -32651,7 +34423,7 @@ - punctuation.section.parens.begin.bracket.round - source: map_of_locks scopes: - - variable.other.object.access + - variable.other.unknown.map_of_locks - source: . scopes: - punctuation.separator.dot-access @@ -32663,6 +34435,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: varaible_address scopes: + - variable.snake-case - variable.other.unknown.varaible_address - source: ) scopes: @@ -32672,7 +34445,7 @@ - keyword.operator.comparison - source: map_of_locks scopes: - - variable.other.object.access + - variable.other.unknown.map_of_locks - source: . scopes: - punctuation.separator.dot-access @@ -32746,6 +34519,7 @@ - punctuation.definition.begin.bracket.square - source: varaible_address scopes: + - variable.snake-case - variable.other.unknown.varaible_address - source: ']' scopes: @@ -32812,7 +34586,7 @@ - punctuation.definition.parameters.end.preprocessor - source: LockManager scopes: - - variable.other.object.access + - variable.other.unknown.LockManager - source: . scopes: - punctuation.separator.dot-access @@ -32845,6 +34619,7 @@ - keyword.operator.bitwise - source: ARGS scopes: + - variable.upper-case - variable.other.unknown.ARGS - source: ) scopes: @@ -32877,7 +34652,7 @@ - punctuation.definition.parameters.end.preprocessor - source: LockManager scopes: - - variable.other.object.access + - variable.other.unknown.LockManager - source: . scopes: - punctuation.separator.dot-access @@ -32910,6 +34685,7 @@ - keyword.operator.bitwise - source: ARGS scopes: + - variable.upper-case - variable.other.unknown.ARGS - source: ) scopes: @@ -32977,7 +34753,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -33018,7 +34794,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -33045,19 +34821,27 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: local_debug + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -33071,6 +34855,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -33114,12 +34899,18 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: all_members scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -33135,7 +34926,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: each scopes: @@ -33145,6 +34936,7 @@ - punctuation.separator.colon.range-based - source: input_vector scopes: + - variable.snake-case - variable.other.unknown.input_vector scopesEnd: - meta.parens.control.for @@ -33166,12 +34958,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members scopes: + - variable.snake-case - variable.other.unknown.all_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ) scopes: @@ -33181,6 +34975,7 @@ - punctuation.terminator.statement - source: all_members scopes: + - variable.snake-case - variable.other.unknown.all_members - source: '<<' scopes: @@ -33224,7 +35019,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -33250,6 +35046,7 @@ - meta.parens - source: all_members scopes: + - variable.snake-case - variable.other.unknown.all_members - source: '<<' scopes: @@ -33288,6 +35085,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -33296,6 +35094,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -33322,7 +35121,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.all_members - source: . scopes: - punctuation.separator.dot-access @@ -33358,18 +35158,25 @@ scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: all_members_str + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.all_members_str - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: all_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.all_members - source: . scopes: - punctuation.separator.dot-access @@ -33382,11 +35189,14 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -33427,6 +35237,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -33460,7 +35271,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -33498,7 +35309,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -33525,19 +35336,27 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: local_debug + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -33551,6 +35370,7 @@ - comment.line.double-slash - source: input_vector scopes: + - variable.snake-case - variable.other.unknown.input_vector - source: '=' scopes: @@ -33608,6 +35428,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -33645,6 +35466,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -33661,15 +35483,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: vector_content + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -33678,10 +35507,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -33695,6 +35527,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -33703,6 +35536,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -33734,6 +35568,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -33742,6 +35577,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -33754,6 +35590,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_content scopes: + - variable.snake-case - variable.other.unknown.vector_content - source: ) scopes: @@ -33795,6 +35632,7 @@ - punctuation.section.parens.begin.bracket.round - source: vector_content scopes: + - variable.snake-case - variable.other.unknown.vector_content - source: '==' scopes: @@ -33825,6 +35663,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -33850,6 +35689,7 @@ - punctuation.section.parens.begin.bracket.round - source: vector_content scopes: + - variable.snake-case - variable.other.unknown.vector_content - source: '==' scopes: @@ -33877,6 +35717,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -33890,22 +35731,33 @@ scopesEnd: - comment.line.double-slash - source: ANYTYPE + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data_member scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: vector_content_as_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.vector_content_as_stream + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -33917,18 +35769,24 @@ - keyword.operator.bitwise.shift - source: vector_content scopes: + - variable.snake-case - variable.other.unknown.vector_content - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -33962,6 +35820,7 @@ - punctuation.separator.delimiter.comma - source: data_member scopes: + - variable.snake-case - variable.other.unknown.data_member - source: ) scopes: @@ -33971,7 +35830,7 @@ - punctuation.terminator.statement - source: vector_content_as_stream scopes: - - variable.other.object.access + - variable.other.unknown.vector_content_as_stream - source: . scopes: - punctuation.separator.dot-access @@ -34031,6 +35890,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -34045,7 +35905,8 @@ - meta.block - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -34057,6 +35918,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: data_member scopes: + - variable.snake-case - variable.other.unknown.data_member - source: ) scopes: @@ -34119,7 +35981,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -34154,6 +36017,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -34174,6 +36038,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -34215,7 +36080,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -34238,7 +36103,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -34262,12 +36127,17 @@ - source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -34283,7 +36153,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: each scopes: @@ -34293,6 +36163,7 @@ - punctuation.separator.colon.range-based - source: input scopes: + - variable.lower-case - variable.other.unknown.input scopesEnd: - meta.parens.control.for @@ -34308,6 +36179,7 @@ - punctuation.section.block.begin.bracket.curly - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '<<' scopes: @@ -34320,6 +36192,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ) scopes: @@ -34359,7 +36232,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -34415,7 +36289,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Remove__ThElementFrom__Vector @@ -34449,7 +36323,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -34477,7 +36351,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -34489,7 +36364,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -34507,6 +36383,7 @@ - keyword.operator.arithmetic - source: element_number scopes: + - variable.snake-case - variable.other.unknown.element_number - source: ) scopes: @@ -34543,7 +36420,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__Vector @@ -34576,7 +36453,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -34614,7 +36491,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each @@ -34625,6 +36502,7 @@ - punctuation.separator.colon.range-based - source: input_vector scopes: + - variable.snake-case - variable.other.unknown.input_vector scopesEnd: - meta.parens.control.for @@ -34648,12 +36526,14 @@ - punctuation.section.parens.begin.bracket.round - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: '==' scopes: - keyword.operator.comparison - source: test_val scopes: + - variable.snake-case - variable.other.unknown.test_val - source: ) scopes: @@ -34713,7 +36593,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__ @@ -34746,7 +36626,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -34782,13 +36662,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input_vector ' +- source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -34838,6 +36720,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -34892,7 +36775,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -34913,6 +36797,7 @@ - keyword.operator.comparison - source: test_val scopes: + - variable.snake-case - variable.other.unknown.test_val - source: ) scopes: @@ -34986,7 +36871,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: IndexOf__In__Vector @@ -35019,7 +36904,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35055,13 +36940,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input_vector ' +- source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -35111,6 +36998,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -35170,7 +37058,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -35191,6 +37080,7 @@ - keyword.operator.comparison - source: test_val scopes: + - variable.snake-case - variable.other.unknown.test_val - source: ) scopes: @@ -35272,7 +37162,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: RemoveFirst__From__Vector @@ -35305,7 +37195,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35332,16 +37222,22 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: element_number + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: IndexOf__In__Vector scopes: - entity.name.function.call @@ -35350,22 +37246,27 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: element_ scopes: + - variable.snake-case - variable.other.unknown.element_ - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_vector scopes: + - variable.snake-case - variable.other.unknown.input_vector - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -35377,7 +37278,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -35395,6 +37297,7 @@ - keyword.operator.arithmetic - source: element_number scopes: + - variable.snake-case - variable.other.unknown.element_number - source: ) scopes: @@ -35431,7 +37334,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: NumberOf__In__Vector @@ -35464,7 +37367,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35491,13 +37394,17 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: number_of_matches scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.number_of_matches + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -35512,13 +37419,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input_vector ' +- source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -35568,6 +37477,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -35622,7 +37532,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -35643,6 +37554,7 @@ - keyword.operator.comparison - source: test_val scopes: + - variable.snake-case - variable.other.unknown.test_val - source: ) scopes: @@ -35715,7 +37627,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -35725,13 +37637,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: RemoveDuplicates scopesBegin: @@ -35754,7 +37666,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -35781,7 +37693,8 @@ - source: vector scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -35791,17 +37704,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: search_vector scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -35816,13 +37733,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'input_vector ' +- source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -35872,6 +37791,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -35932,7 +37852,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -35953,6 +37874,7 @@ - punctuation.separator.delimiter.comma - source: search_vector scopes: + - variable.snake-case - variable.other.unknown.search_vector - source: ) scopes: @@ -35981,6 +37903,7 @@ - punctuation.separator.delimiter.comma - source: input_vector scopes: + - variable.snake-case - variable.other.unknown.input_vector - source: ) scopes: @@ -36003,7 +37926,8 @@ - punctuation.section.block.begin.bracket.curly - source: search_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.search_vector - source: . scopes: - punctuation.separator.dot-access @@ -36015,7 +37939,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: input_vector scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_vector - source: . scopes: - punctuation.separator.dot-access @@ -36059,7 +37984,7 @@ - meta.body.function.definition - source: char scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -36089,7 +38014,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -36127,19 +38052,28 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: largest_string + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -36155,7 +38089,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each @@ -36166,6 +38100,7 @@ - punctuation.separator.colon.range-based - source: input scopes: + - variable.lower-case - variable.other.unknown.input scopesEnd: - meta.parens.control.for @@ -36181,13 +38116,15 @@ - punctuation.section.block.begin.bracket.curly - source: largest_string scopes: + - variable.snake-case - variable.other.unknown.largest_string - source: '=' scopes: - keyword.operator.assignment - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -36205,13 +38142,15 @@ - keyword.operator.comparison - source: largest_string scopes: + - variable.snake-case - variable.other.unknown.largest_string - source: '?' scopes: - keyword.operator.ternary - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -36229,6 +38168,7 @@ - keyword.operator.ternary - source: largest_string scopes: + - variable.snake-case - variable.other.unknown.largest_string - source: ; scopes: @@ -36248,7 +38188,8 @@ - comment.line.double-slash - source: vector scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -36267,11 +38208,14 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: vector_of_c_strings scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.vector_of_c_strings + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -36287,7 +38231,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each @@ -36298,6 +38242,7 @@ - punctuation.separator.colon.range-based - source: input scopes: + - variable.lower-case - variable.other.unknown.input scopesEnd: - meta.parens.control.for @@ -36312,19 +38257,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: char + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: new_string + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -36340,7 +38292,8 @@ - punctuation.definition.begin.bracket.square - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -36357,6 +38310,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -36369,13 +38323,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: new_string scopes: + - variable.snake-case - variable.other.unknown.new_string - source: ',' scopes: - punctuation.separator.delimiter.comma - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -36396,7 +38352,7 @@ - punctuation.terminator.statement - source: vector_of_c_strings scopes: - - variable.other.object.access + - variable.other.unknown.vector_of_c_strings - source: . scopes: - punctuation.separator.dot-access @@ -36408,6 +38364,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: new_string scopes: + - variable.snake-case - variable.other.unknown.new_string - source: ) scopes: @@ -36430,7 +38387,7 @@ - comment.line.double-slash - source: vector_of_c_strings scopes: - - variable.other.object.access + - variable.other.unknown.vector_of_c_strings - source: . scopes: - punctuation.separator.dot-access @@ -36458,8 +38415,10 @@ scopesEnd: - comment.line.double-slash - source: char + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -36469,11 +38428,16 @@ scopesEnd: - storage.modifier.pointer - source: output + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: new scopes: - keyword.operator.wordlike @@ -36492,7 +38456,7 @@ - punctuation.definition.begin.bracket.square - source: vector_of_c_strings scopes: - - variable.other.object.access + - variable.other.unknown.vector_of_c_strings - source: . scopes: - punctuation.separator.dot-access @@ -36509,6 +38473,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -36521,7 +38486,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: vector_of_c_strings scopes: - - variable.other.object.access + - variable.other.unknown.vector_of_c_strings - source: . scopes: - punctuation.separator.dot-access @@ -36539,7 +38504,7 @@ - punctuation.separator.delimiter.comma - source: vector_of_c_strings scopes: - - variable.other.object.access + - variable.other.unknown.vector_of_c_strings - source: . scopes: - punctuation.separator.dot-access @@ -36557,6 +38522,7 @@ - punctuation.separator.delimiter.comma - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ) scopes: @@ -36569,6 +38535,7 @@ - keyword.control.return - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ; scopes: @@ -36601,7 +38568,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -36611,13 +38578,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Slice scopesBegin: @@ -36640,7 +38607,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -36684,7 +38651,8 @@ - source: vector scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -36694,17 +38662,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: result scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -36718,6 +38690,7 @@ - punctuation.section.parens.begin.bracket.round - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: < scopes: @@ -36732,13 +38705,15 @@ - meta.parens - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -36756,6 +38731,7 @@ - keyword.operator.arithmetic - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ; scopes: @@ -36773,13 +38749,15 @@ - punctuation.section.parens.begin.bracket.round - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -36799,13 +38777,15 @@ - meta.parens - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -36831,6 +38811,7 @@ - punctuation.section.parens.begin.bracket.round - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: < scopes: @@ -36845,13 +38826,15 @@ - meta.parens - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -36869,6 +38852,7 @@ - keyword.operator.arithmetic - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: ; scopes: @@ -36886,13 +38870,15 @@ - punctuation.section.parens.begin.bracket.round - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -36912,13 +38898,15 @@ - meta.parens - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -36944,12 +38932,14 @@ - punctuation.section.parens.begin.bracket.round - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: ) scopes: @@ -36962,42 +38952,56 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: swap + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: start scopes: + - variable.lower-case - variable.other.unknown.start + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: '=' scopes: - keyword.operator.assignment - source: swap scopes: + - variable.lower-case - variable.other.unknown.swap - source: ; scopes: @@ -37023,30 +39027,35 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: finish scopes: + - variable.lower-case - variable.other.unknown.finish - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -37060,7 +39069,8 @@ - meta.parens - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -37080,6 +39090,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -37097,6 +39108,7 @@ - keyword.control.return - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: ; scopes: @@ -37129,7 +39141,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -37139,13 +39151,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Slice scopesBegin: @@ -37168,7 +39180,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -37212,13 +39224,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -37265,7 +39279,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -37275,13 +39289,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Splice scopesBegin: @@ -37304,7 +39318,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -37347,7 +39361,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -37371,7 +39385,8 @@ - source: vector scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -37381,17 +39396,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: result scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -37405,6 +39424,7 @@ - punctuation.section.parens.begin.bracket.round - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: < scopes: @@ -37419,13 +39439,15 @@ - meta.parens - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -37443,6 +39465,7 @@ - keyword.operator.arithmetic - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ; scopes: @@ -37460,13 +39483,15 @@ - punctuation.section.parens.begin.bracket.round - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -37486,13 +39511,15 @@ - meta.parens - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -37518,13 +39545,15 @@ - punctuation.section.parens.begin.bracket.round - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: '>' scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -37542,6 +39571,7 @@ - keyword.operator.arithmetic - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ) scopes: @@ -37550,13 +39580,15 @@ - meta.parens - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: '=' scopes: - keyword.operator.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -37574,6 +39606,7 @@ - keyword.operator.arithmetic - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ; scopes: @@ -37594,6 +39627,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -37606,18 +39640,21 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -37631,7 +39668,8 @@ - meta.parens - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -37651,6 +39689,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -37679,6 +39718,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -37691,13 +39731,15 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: additions scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.additions - source: . scopes: - punctuation.separator.dot-access @@ -37715,6 +39757,7 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -37728,7 +39771,8 @@ - meta.parens - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -37748,6 +39792,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -37776,31 +39821,36 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: + scopes: - keyword.operator.arithmetic - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -37818,6 +39868,7 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -37831,7 +39882,8 @@ - meta.parens - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -37851,6 +39903,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -37868,6 +39921,7 @@ - keyword.control.return - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: ; scopes: @@ -37900,7 +39954,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -37910,13 +39964,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Splice scopesBegin: @@ -37939,7 +39993,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -37983,7 +40037,8 @@ - source: vector scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -37993,17 +40048,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: empty scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -38018,24 +40077,28 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: ',' scopes: - punctuation.separator.delimiter.comma - source: empty scopes: + - variable.lower-case - variable.other.unknown.empty - source: ) scopes: @@ -38071,7 +40134,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -38081,13 +40144,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Splice scopesBegin: @@ -38110,7 +40173,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38143,7 +40206,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38177,12 +40240,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ',' scopes: @@ -38195,6 +40260,7 @@ - punctuation.separator.delimiter.comma - source: additions scopes: + - variable.lower-case - variable.other.unknown.additions - source: ) scopes: @@ -38231,7 +40297,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Index @@ -38255,7 +40321,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38288,19 +40354,27 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: index + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -38314,13 +40388,15 @@ - punctuation.section.parens.begin.bracket.round - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: < scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -38361,6 +40437,7 @@ - punctuation.definition.begin.bracket.square - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ']' scopes: @@ -38372,6 +40449,7 @@ - keyword.operator.comparison - source: target scopes: + - variable.lower-case - variable.other.unknown.target - source: ) scopes: @@ -38383,12 +40461,14 @@ - keyword.control.return - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ++ scopes: @@ -38442,7 +40522,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: LastIndex @@ -38466,7 +40546,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38499,19 +40579,26 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: index + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -38524,6 +40611,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -38537,6 +40626,7 @@ - punctuation.section.parens.begin.bracket.round - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ) scopes: @@ -38566,6 +40656,7 @@ - punctuation.definition.begin.bracket.square - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ']' scopes: @@ -38577,6 +40668,7 @@ - keyword.operator.comparison - source: target scopes: + - variable.lower-case - variable.other.unknown.target - source: ) scopes: @@ -38588,12 +40680,14 @@ - keyword.control.return - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ; scopes: - punctuation.terminator.statement - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: '--' scopes: @@ -38646,7 +40740,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -38662,7 +40756,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Indices scopesBegin: @@ -38685,7 +40779,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38718,7 +40812,8 @@ - source: vector scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -38734,28 +40829,41 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: indices scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: index + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -38769,13 +40877,15 @@ - punctuation.section.parens.begin.bracket.round - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: < scopes: - keyword.operator.comparison - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -38816,6 +40926,7 @@ - punctuation.definition.begin.bracket.square - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ']' scopes: @@ -38827,6 +40938,7 @@ - keyword.operator.comparison - source: target scopes: + - variable.lower-case - variable.other.unknown.target - source: ) scopes: @@ -38835,7 +40947,8 @@ - meta.parens - source: indices scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.indices - source: . scopes: - punctuation.separator.dot-access @@ -38847,6 +40960,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ) scopes: @@ -38856,6 +40970,7 @@ - punctuation.terminator.statement - source: index scopes: + - variable.lower-case - variable.other.unknown.index - source: ++ scopes: @@ -38873,6 +40988,7 @@ - keyword.control.return - source: indices scopes: + - variable.lower-case - variable.other.unknown.indices - source: ; scopes: @@ -38906,7 +41022,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Includes @@ -38930,7 +41046,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: T scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -38978,12 +41094,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ',' scopes: - punctuation.separator.delimiter.comma - source: target scopes: + - variable.lower-case - variable.other.unknown.target - source: ) scopes: @@ -39059,7 +41177,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -39100,14 +41218,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -39134,19 +41252,27 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: local_debug + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -39160,6 +41286,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -39195,12 +41322,18 @@ scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: all_members scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -39220,13 +41353,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members scopes: + - variable.snake-case - variable.other.unknown.all_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -39241,6 +41376,7 @@ - punctuation.terminator.statement - source: all_members scopes: + - variable.snake-case - variable.other.unknown.all_members - source: '<<' scopes: @@ -39269,13 +41405,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members scopes: + - variable.snake-case - variable.other.unknown.all_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -39290,6 +41428,7 @@ - punctuation.terminator.statement - source: all_members scopes: + - variable.snake-case - variable.other.unknown.all_members - source: '<<' scopes: @@ -39328,6 +41467,7 @@ - punctuation.section.parens.begin.bracket.round - source: local_debug scopes: + - variable.snake-case - variable.other.unknown.local_debug - source: ) scopes: @@ -39336,6 +41476,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -39362,7 +41503,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: all_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.all_members - source: . scopes: - punctuation.separator.dot-access @@ -39398,18 +41540,25 @@ scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: all_members_str + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.all_members_str - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: all_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.all_members - source: . scopes: - punctuation.separator.dot-access @@ -39422,11 +41571,14 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -39467,6 +41619,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -39509,7 +41662,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -39547,14 +41700,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -39619,6 +41772,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -39656,6 +41810,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -39672,15 +41827,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -39689,10 +41851,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -39714,6 +41879,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -39744,6 +41910,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -39777,7 +41944,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -39833,6 +42001,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -39849,23 +42018,34 @@ scopesEnd: - comment.line.double-slash - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: transfer_method scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -39879,13 +42059,15 @@ - comment.line.double-slash - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -39903,7 +42085,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -39937,22 +42120,34 @@ scopesEnd: - comment.line.double-slash - source: ANYTYPE + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: datamember1 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: ANYSECONDTYPE + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: datamember2 scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -39964,12 +42159,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: datamember1 scopes: + - variable.lower-case - variable.other.unknown.datamember1 - source: ) scopes: @@ -39979,7 +42176,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -40006,12 +42204,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: datamember2 scopes: + - variable.lower-case - variable.other.unknown.datamember2 - source: ) scopes: @@ -40021,7 +42221,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -40064,6 +42265,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ) scopes: @@ -40084,6 +42286,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -40101,7 +42304,8 @@ - comment.line.double-slash - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -40113,13 +42317,15 @@ - keyword.operator.assignment - source: datamember1 scopes: + - variable.lower-case - variable.other.unknown.datamember1 - source: ; scopes: - punctuation.terminator.statement - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -40131,6 +42337,7 @@ - keyword.operator.assignment - source: datamember2 scopes: + - variable.lower-case - variable.other.unknown.datamember2 - source: ; scopes: @@ -40148,6 +42355,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -40198,7 +42406,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -40239,14 +42447,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -40281,6 +42489,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -40316,12 +42525,18 @@ scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data_members scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -40344,7 +42559,7 @@ - source: pair scopesBegin: - meta.parens.control.for - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -40354,20 +42569,20 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: each scopes: @@ -40377,6 +42592,7 @@ - punctuation.separator.colon.range-based - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ scopesEnd: - meta.parens.control.for @@ -40398,12 +42614,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ) scopes: @@ -40413,6 +42631,7 @@ - punctuation.terminator.statement - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: '<<' scopes: @@ -40448,6 +42667,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -40460,7 +42680,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_members - source: . scopes: - punctuation.separator.dot-access @@ -40500,6 +42721,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -40542,7 +42764,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -40580,14 +42802,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -40652,6 +42874,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -40689,6 +42912,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -40705,15 +42929,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -40722,10 +42953,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -40747,6 +42981,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -40777,6 +43012,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -40810,7 +43046,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -40866,6 +43103,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -40882,23 +43120,34 @@ scopesEnd: - comment.line.double-slash - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: transfer_method scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -40912,13 +43161,15 @@ - comment.line.double-slash - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -40936,7 +43187,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -40979,6 +43231,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -41006,6 +43259,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -41020,7 +43274,8 @@ - comment.line.double-slash - source: pair scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -41030,30 +43285,35 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: data_member scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: map scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -41063,24 +43323,27 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: data_member_holder scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.data_member_holder + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -41108,12 +43371,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: data_member scopes: + - variable.snake-case - variable.other.unknown.data_member - source: ) scopes: @@ -41123,7 +43388,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -41158,6 +43424,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ) scopes: @@ -41183,6 +43450,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -41205,7 +43473,8 @@ - punctuation.definition.begin.bracket.square - source: data_member scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_member - source: . scopes: - punctuation.separator.dot-access @@ -41222,7 +43491,8 @@ - keyword.operator.assignment - source: data_member scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_member - source: . scopes: - punctuation.separator.dot-access @@ -41257,6 +43527,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ) scopes: @@ -41279,6 +43550,7 @@ - comment.line.double-slash - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: '=' scopes: @@ -41302,6 +43574,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -41356,7 +43629,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__KeyIn__Map @@ -41389,14 +43662,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -41436,7 +43709,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_map scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_map - source: . scopes: - punctuation.separator.dot-access @@ -41448,6 +43722,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: key scopes: + - variable.lower-case - variable.other.unknown.key - source: ) scopes: @@ -41457,7 +43732,8 @@ - keyword.operator.comparison - source: input_map scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_map - source: . scopes: - punctuation.separator.dot-access @@ -41531,7 +43807,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__ValueIn__Map @@ -41564,14 +43840,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -41623,10 +43899,12 @@ - keyword.operator.bitwise - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ' : ' - source: input_map scopes: + - variable.snake-case - variable.other.unknown.input_map scopesEnd: - meta.parens.control.for @@ -41650,7 +43928,8 @@ - punctuation.section.parens.begin.bracket.round - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -41662,6 +43941,7 @@ - keyword.operator.comparison - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ) scopes: @@ -41739,7 +44019,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: KeyOfFirst__ValueIn__Map scopesBegin: @@ -41771,14 +44051,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -41830,10 +44110,12 @@ - keyword.operator.bitwise - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ' : ' - source: input_map scopes: + - variable.snake-case - variable.other.unknown.input_map scopesEnd: - meta.parens.control.for @@ -41857,7 +44139,8 @@ - punctuation.section.parens.begin.bracket.round - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -41869,6 +44152,7 @@ - keyword.operator.comparison - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ) scopes: @@ -41885,7 +44169,8 @@ - keyword.control.return - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -41906,12 +44191,18 @@ scopesEnd: - meta.block - source: ANYSECONDTYPE + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: null_ scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -41920,6 +44211,7 @@ - keyword.control.return - source: null_ scopes: + - variable.snake-case - variable.other.unknown.null_ - source: ; scopes: @@ -41953,7 +44245,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__ @@ -41986,14 +44278,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -42032,12 +44324,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_map scopes: + - variable.snake-case - variable.other.unknown.input_map - source: ) scopes: @@ -42072,12 +44366,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_map scopes: + - variable.snake-case - variable.other.unknown.input_map - source: ) scopes: @@ -42143,7 +44439,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__ @@ -42176,14 +44472,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -42222,12 +44518,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_map scopes: + - variable.snake-case - variable.other.unknown.input_map - source: ) scopes: @@ -42284,7 +44582,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__ @@ -42317,14 +44615,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYSECONDTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -42363,12 +44661,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_map scopes: + - variable.snake-case - variable.other.unknown.input_map - source: ) scopes: @@ -42523,7 +44823,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Type scopesBegin: @@ -42556,40 +44856,58 @@ - source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: status scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: demangled + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: abi scopes: - entity.name.scope-resolution @@ -42613,6 +44931,7 @@ - source: input scopes: - meta.arguments.operator.typeid + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -42649,21 +44968,26 @@ - keyword.operator.bitwise - source: status scopes: + - variable.lower-case - variable.other.unknown.status - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: '<<' scopes: - keyword.operator.bitwise.shift - source: demangled scopes: + - variable.lower-case - variable.other.unknown.demangled - source: ; scopes: @@ -42676,6 +45000,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: demangled scopes: + - variable.lower-case - variable.other.unknown.demangled - source: ) scopes: @@ -42688,7 +45013,8 @@ - keyword.control.return - source: output scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.output - source: . scopes: - punctuation.separator.dot-access @@ -42804,7 +45130,8 @@ - comment.line.double-slash - source: vector scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -42814,23 +45141,28 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: vector_ scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: vector scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -42840,23 +45172,28 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: values scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: vector scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -42866,17 +45203,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: names scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -42904,7 +45245,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: NumberOfItems @@ -42933,7 +45274,8 @@ - keyword.control.return - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -42951,7 +45293,8 @@ - keyword.operator.arithmetic - source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -43004,7 +45347,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: AddToBottom @@ -43041,11 +45384,12 @@ - punctuation.section.block.begin.bracket.curly.function.definition scopesEnd: - meta.head.function.definition -- source: 'vector_ ' +- source: vector_ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -43057,16 +45401,20 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -43111,7 +45459,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Remove__ThItem @@ -43165,13 +45513,15 @@ - punctuation.section.parens.begin.bracket.round - source: item_position scopes: + - variable.snake-case - variable.other.unknown.item_position - source: '>' scopes: - keyword.operator.comparison - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -43190,6 +45540,7 @@ - keyword.operator.or - source: item_position scopes: + - variable.snake-case - variable.other.unknown.item_position - source: < scopes: @@ -43253,6 +45604,7 @@ - punctuation.section.parens.begin.bracket.round - source: item_position scopes: + - variable.snake-case - variable.other.unknown.item_position - source: '-' scopes: @@ -43270,6 +45622,7 @@ - punctuation.separator.delimiter.comma - source: vector_ scopes: + - variable.snake-case - variable.other.unknown.vector_ - source: ) scopes: @@ -43295,7 +45648,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Remove__ @@ -43344,13 +45697,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'names ' +- source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -43400,6 +45755,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -43454,13 +45810,15 @@ - punctuation.section.parens.begin.bracket.round - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison - source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -43500,6 +45858,7 @@ - punctuation.separator.delimiter.comma - source: names scopes: + - variable.lower-case - variable.other.unknown.names - source: ) scopes: @@ -43521,6 +45880,7 @@ - punctuation.separator.delimiter.comma - source: values scopes: + - variable.lower-case - variable.other.unknown.values - source: ) scopes: @@ -43574,7 +45934,7 @@ - source: List scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -43584,13 +45944,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: From__To__ scopesBegin: @@ -43646,7 +46006,8 @@ - source: List scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -43656,17 +46017,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: output_list scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -43681,6 +46046,7 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: @@ -43692,12 +46058,14 @@ - punctuation.section.parens.begin.bracket.round - source: ending_spot scopes: + - variable.snake-case - variable.other.unknown.ending_spot - source: '-' scopes: - keyword.operator.arithmetic - source: starting_spot scopes: + - variable.snake-case - variable.other.unknown.starting_spot - source: ) scopes: @@ -43747,6 +46115,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -43771,7 +46140,8 @@ - punctuation.section.block.begin.bracket.curly - source: output_list scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.output_list - source: . scopes: - punctuation.separator.dot-access @@ -43783,7 +46153,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -43826,6 +46197,7 @@ - keyword.control.return - source: output_list scopes: + - variable.snake-case - variable.other.unknown.output_list - source: ; scopes: @@ -43851,7 +46223,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -43861,13 +46233,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Data scopesBegin: @@ -43895,12 +46267,14 @@ - keyword.control.return - source: vector_ scopes: + - variable.snake-case - variable.other.unknown.vector_ - source: + scopes: - keyword.operator.arithmetic - source: values scopes: + - variable.lower-case - variable.other.unknown.values - source: ; scopes: @@ -43922,7 +46296,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -43932,13 +46306,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Vector scopesBegin: @@ -43966,6 +46340,7 @@ - keyword.control.return - source: vector_ scopes: + - variable.snake-case - variable.other.unknown.vector_ - source: ; scopes: @@ -43987,7 +46362,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -43997,13 +46372,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: Names scopesBegin: @@ -44031,6 +46406,7 @@ - keyword.control.return - source: names scopes: + - variable.lower-case - variable.other.unknown.names - source: ; scopes: @@ -44052,7 +46428,7 @@ - source: vector scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -44062,13 +46438,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: NamedValues scopesBegin: @@ -44096,6 +46472,7 @@ - keyword.control.return - source: values scopes: + - variable.lower-case - variable.other.unknown.values - source: ; scopes: @@ -44137,7 +46514,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__AName @@ -44178,27 +46555,39 @@ scopesEnd: - comment.line.double-slash - source: ITEM + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: input_as_item + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.input_as_item - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -44212,7 +46601,7 @@ - punctuation.section.parens.begin.bracket.round - source: input_as_item scopes: - - variable.other.object.access + - variable.other.unknown.input_as_item - source: . scopes: - punctuation.separator.dot-access @@ -44274,7 +46663,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_as_item scopes: - - variable.other.object.access + - variable.other.unknown.input_as_item - source: . scopes: - punctuation.separator.dot-access @@ -44292,6 +46681,7 @@ - punctuation.separator.delimiter.comma - source: names scopes: + - variable.lower-case - variable.other.unknown.names - source: ) scopes: @@ -44336,7 +46726,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__ANamedValue @@ -44380,21 +46770,26 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma - source: values scopes: + - variable.lower-case - variable.other.unknown.values - source: ) scopes: @@ -44439,7 +46834,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__AVectorValue @@ -44483,21 +46878,26 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma - source: vector_ scopes: + - variable.snake-case - variable.other.unknown.vector_ - source: ) scopes: @@ -44542,7 +46942,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__AValue @@ -44591,21 +46991,26 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma - source: values scopes: + - variable.lower-case - variable.other.unknown.values - source: ) scopes: @@ -44640,21 +47045,26 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ',' scopes: - punctuation.separator.delimiter.comma - source: vector_ scopes: + - variable.snake-case - variable.other.unknown.vector_ - source: ) scopes: @@ -44719,7 +47129,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Has @@ -44763,16 +47173,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call @@ -44787,16 +47202,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call @@ -44811,16 +47231,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call @@ -44845,7 +47270,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: SizeOfLargestName @@ -44870,19 +47295,27 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: largest_size + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -44908,10 +47341,12 @@ - keyword.operator.bitwise - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ' : ' - source: names scopes: + - variable.lower-case - variable.other.unknown.names scopesEnd: - meta.parens.control.for @@ -44935,7 +47370,8 @@ - punctuation.section.parens.begin.bracket.round - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -44953,6 +47389,7 @@ - keyword.operator.comparison - source: largest_size scopes: + - variable.snake-case - variable.other.unknown.largest_size - source: ) scopes: @@ -44966,13 +47403,15 @@ - punctuation.section.block.begin.bracket.curly - source: largest_size scopes: + - variable.snake-case - variable.other.unknown.largest_size - source: '=' scopes: - keyword.operator.assignment - source: each scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.each - source: . scopes: - punctuation.separator.dot-access @@ -45003,6 +47442,7 @@ - keyword.control.return - source: largest_size scopes: + - variable.snake-case - variable.other.unknown.largest_size - source: ; scopes: @@ -45025,7 +47465,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Sample scopesBegin: @@ -45065,7 +47505,8 @@ - punctuation.section.parens.begin.bracket.round - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45108,20 +47549,26 @@ - punctuation.terminator.statement - source: short scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: first_few + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -45129,7 +47576,8 @@ - punctuation.section.parens.begin.bracket.round - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45164,7 +47612,8 @@ - keyword.operator.ternary - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45177,19 +47626,28 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_string + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -45199,6 +47657,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -45214,12 +47673,14 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: first_few scopes: + - variable.snake-case - variable.other.unknown.first_few - source: ; scopes: @@ -45258,6 +47719,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -45282,19 +47744,22 @@ - punctuation.section.block.begin.bracket.curly - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45362,6 +47827,7 @@ - keyword.control.return - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: ; scopes: @@ -45384,7 +47850,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -45421,16 +47887,21 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: is_in_bounds + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.is_in_bounds - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: abs scopes: - entity.name.function.call @@ -45439,6 +47910,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: position scopes: + - variable.lower-case - variable.other.unknown.position - source: ) scopes: @@ -45448,7 +47920,8 @@ - keyword.operator.comparison - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45466,6 +47939,7 @@ - keyword.operator.logical - source: position scopes: + - variable.lower-case - variable.other.unknown.position - source: '!=' scopes: @@ -45473,22 +47947,32 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: is_negative + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: position scopes: + - variable.lower-case - variable.other.unknown.position - source: < scopes: @@ -45496,6 +47980,8 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -45530,6 +48016,7 @@ - punctuation.section.parens.begin.bracket.round - source: is_negative scopes: + - variable.snake-case - variable.other.unknown.is_negative - source: ) scopes: @@ -45562,7 +48049,8 @@ - keyword.control.return - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45574,7 +48062,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45592,6 +48081,7 @@ - keyword.operator.arithmetic - source: position scopes: + - variable.lower-case - variable.other.unknown.position - source: ) scopes: @@ -45617,7 +48107,8 @@ - keyword.control.return - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45629,6 +48120,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: position scopes: + - variable.lower-case - variable.other.unknown.position - source: '-' scopes: @@ -45670,6 +48162,7 @@ - punctuation.section.parens.begin.bracket.round - source: is_negative scopes: + - variable.snake-case - variable.other.unknown.is_negative - source: ) scopes: @@ -45709,6 +48202,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: position scopes: + - variable.lower-case - variable.other.unknown.position - source: ) scopes: @@ -45810,25 +48304,34 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: missing_items + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: position scopes: + - variable.lower-case - variable.other.unknown.position - source: '-' scopes: - keyword.operator.arithmetic - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45841,6 +48344,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -45855,12 +48360,14 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: missing_items scopes: + - variable.snake-case - variable.other.unknown.missing_items - source: ; scopes: @@ -45899,6 +48406,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -45923,7 +48431,8 @@ - punctuation.section.block.begin.bracket.curly - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45935,13 +48444,16 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -45963,7 +48475,8 @@ - keyword.control.return - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -45975,6 +48488,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: position scopes: + - variable.lower-case - variable.other.unknown.position - source: '-' scopes: @@ -46028,7 +48542,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -46105,6 +48619,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -46142,6 +48657,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -46158,15 +48674,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -46175,10 +48698,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -46200,6 +48726,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -46230,6 +48757,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -46263,7 +48791,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -46319,6 +48848,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -46335,23 +48865,34 @@ scopesEnd: - comment.line.double-slash - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: transfer_method scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -46365,13 +48906,15 @@ - comment.line.double-slash - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -46389,7 +48932,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -46430,12 +48974,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: vector_ scopes: + - variable.snake-case - variable.other.unknown.vector_ - source: ) scopes: @@ -46445,7 +48991,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -46472,12 +49019,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: values scopes: + - variable.lower-case - variable.other.unknown.values - source: ) scopes: @@ -46487,7 +49036,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -46514,12 +49064,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: names scopes: + - variable.lower-case - variable.other.unknown.names - source: ) scopes: @@ -46529,7 +49081,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -46572,6 +49125,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ) scopes: @@ -46592,6 +49146,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -46612,6 +49167,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -46634,7 +49190,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -46695,6 +49251,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: position scopes: + - variable.lower-case - variable.other.unknown.position - source: ) scopes: @@ -46710,7 +49267,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -46759,20 +49316,26 @@ - comment.line.double-slash - source: long scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: index_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: IndexOf__In__Vector scopes: - entity.name.function.call @@ -46781,16 +49344,20 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma - source: names scopes: + - variable.lower-case - variable.other.unknown.names - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -46804,6 +49371,7 @@ - punctuation.section.parens.begin.bracket.round - source: index_ scopes: + - variable.snake-case - variable.other.unknown.index_ - source: '!=' scopes: @@ -46829,7 +49397,8 @@ - keyword.control.return - source: values scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.values - source: . scopes: - punctuation.separator.dot-access @@ -46841,6 +49410,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: index_ scopes: + - variable.snake-case - variable.other.unknown.index_ - source: ) scopes: @@ -46869,9 +49439,10 @@ - source: ' add the name ' scopesEnd: - comment.line.double-slash -- source: 'names ' +- source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -46883,6 +49454,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ) scopes: @@ -46892,7 +49464,8 @@ - punctuation.terminator.statement - source: values scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.values - source: . scopes: - punctuation.separator.dot-access @@ -46904,13 +49477,16 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ITEM scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member @@ -46930,7 +49506,8 @@ - keyword.control.return - source: values scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.values - source: . scopes: - punctuation.separator.dot-access @@ -46942,7 +49519,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: values scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.values - source: . scopes: - punctuation.separator.dot-access @@ -47001,7 +49579,7 @@ - source: List scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -47011,13 +49589,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '&' scopes: @@ -47047,7 +49625,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -47079,6 +49657,7 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: + - variable.snake-case - variable.other.unknown.vector_ - source: '=' scopes: @@ -47107,13 +49686,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment -- source: 'assignment_data ' +- source: assignment_data scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.assignment_data - source: . scopes: - punctuation.separator.dot-access @@ -47163,6 +49744,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -47209,7 +49791,8 @@ - punctuation.terminator.statement - source: vector_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.vector_ - source: . scopes: - punctuation.separator.dot-access @@ -47227,7 +49810,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: assignment_data scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.assignment_data - source: . scopes: - punctuation.separator.dot-access @@ -47282,7 +49866,7 @@ - meta.body.function.definition.special.operator-overload - source: List scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -47292,13 +49876,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '&' scopes: @@ -47328,7 +49912,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -47360,12 +49944,14 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: + - variable.snake-case - variable.other.unknown.vector_ - source: '=' scopes: - keyword.operator.assignment - source: assignment_data scopes: + - variable.snake-case - variable.other.unknown.assignment_data - source: ; scopes: @@ -47434,7 +50020,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -47475,7 +50061,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -47510,6 +50096,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -47545,12 +50132,18 @@ scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data_members scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -47570,13 +50163,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -47597,6 +50192,7 @@ - punctuation.terminator.statement - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: '<<' scopes: @@ -47625,13 +50221,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -47652,6 +50250,7 @@ - punctuation.terminator.statement - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: '<<' scopes: @@ -47680,13 +50279,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -47707,6 +50308,7 @@ - punctuation.terminator.statement - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: '<<' scopes: @@ -47737,6 +50339,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -47749,7 +50352,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_members - source: . scopes: - punctuation.separator.dot-access @@ -47789,6 +50393,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -47822,7 +50427,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -47860,7 +50465,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -47891,7 +50496,8 @@ - keyword.control.return - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -47903,6 +50509,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -47947,7 +50554,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: VisualFormat scopesBegin: @@ -47973,7 +50580,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -48016,7 +50623,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48053,7 +50661,8 @@ - keyword.operator.and - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48095,12 +50704,17 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: named_values_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.named_values_stream + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -48115,13 +50729,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48183,6 +50799,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -48250,7 +50867,8 @@ - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48297,7 +50915,8 @@ - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48382,7 +51001,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48426,7 +51046,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: named_values_stream scopes: - - variable.other.object.access + - variable.other.unknown.named_values_stream - source: . scopes: - punctuation.separator.dot-access @@ -48471,7 +51091,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48540,7 +51161,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48585,7 +51207,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48627,12 +51250,18 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -48647,13 +51276,15 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48715,6 +51346,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -48761,6 +51393,7 @@ - punctuation.terminator.statement - source: output_stream scopes: + - variable.snake-case - variable.other.unknown.output_stream - source: '<<' scopes: @@ -48782,7 +51415,8 @@ - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48829,7 +51463,8 @@ - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -48914,7 +51549,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.output_stream - source: . scopes: - punctuation.separator.dot-access @@ -49006,7 +51642,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -49051,7 +51687,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -49083,6 +51719,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -49095,6 +51732,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: @@ -49132,7 +51770,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -49174,7 +51812,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ITEM scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -49212,12 +51850,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: @@ -49327,12 +51967,18 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -49345,12 +51991,18 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: type scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -49389,6 +52041,7 @@ - punctuation.section.block.begin.bracket.curly - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: @@ -49409,6 +52062,7 @@ - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -49447,6 +52101,7 @@ - storage.type.built-in.primitive - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: '[] ' - source: ) @@ -49459,18 +52114,21 @@ - punctuation.section.block.begin.bracket.curly - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -49505,9 +52163,11 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: string scopes: + - variable.lower-case - variable.other.unknown.string - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ) scopes: @@ -49519,18 +52179,21 @@ - punctuation.section.block.begin.bracket.curly - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -49569,6 +52232,7 @@ - storage.type.built-in.primitive - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: @@ -49579,12 +52243,18 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: input_method scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -49598,6 +52268,7 @@ - comment.line.double-slash - source: input_method scopes: + - variable.snake-case - variable.other.unknown.input_method - source: '<<' scopes: @@ -49619,19 +52290,22 @@ - keyword.operator.bitwise.shift - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_method - source: . scopes: - punctuation.separator.dot-access @@ -49649,6 +52323,7 @@ - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -49702,9 +52377,11 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ANYTYPE scopes: + - variable.upper-case - variable.other.unknown.ANYTYPE - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -49715,12 +52392,18 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -49732,12 +52415,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -49755,6 +52440,7 @@ - comment.line.double-slash - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -49783,6 +52469,7 @@ - punctuation.separator.delimiter.comma - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: ) scopes: @@ -49792,13 +52479,15 @@ - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment - source: type scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.type - source: . scopes: - punctuation.separator.dot-access @@ -49816,7 +52505,8 @@ - punctuation.separator.delimiter.comma - source: type scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.type - source: . scopes: - punctuation.separator.dot-access @@ -49850,15 +52540,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -49867,10 +52564,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -49884,13 +52584,15 @@ - comment.line.double-slash - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -49908,7 +52610,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -49935,12 +52638,14 @@ - punctuation.terminator.statement - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: ; scopes: @@ -49955,6 +52660,7 @@ - punctuation.section.parens.begin.bracket.round - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '==' scopes: @@ -49975,6 +52681,7 @@ - keyword.operator.logical - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '==' scopes: @@ -49997,6 +52704,7 @@ - meta.parens - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -50032,7 +52740,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Type scopesBegin: @@ -50060,6 +52768,7 @@ - keyword.control.return - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: ; scopes: @@ -50071,7 +52780,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Data scopesBegin: @@ -50099,6 +52808,7 @@ - keyword.control.return - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ; scopes: @@ -50110,7 +52820,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Remove0s scopesBegin: @@ -50149,6 +52859,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ) scopes: @@ -50164,6 +52875,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ) scopes: @@ -50195,6 +52907,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ) scopesBegin: @@ -50231,6 +52944,7 @@ - keyword.control.return - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ; scopes: @@ -50247,7 +52961,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -50324,6 +53038,7 @@ - punctuation.separator.delimiter.comma - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -50361,6 +53076,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -50377,15 +53093,22 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Input_Unindent scopes: - entity.name.function.call @@ -50394,10 +53117,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -50419,6 +53145,7 @@ - punctuation.section.parens.begin.bracket.round - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '==' scopes: @@ -50449,6 +53176,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -50482,7 +53210,8 @@ - punctuation.definition.begin.bracket.square - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -50538,6 +53267,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -50554,23 +53284,34 @@ scopesEnd: - comment.line.double-slash - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: transfer_method scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -50584,13 +53325,15 @@ - comment.line.double-slash - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: '<<' scopes: - keyword.operator.bitwise.shift - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -50608,7 +53351,8 @@ - punctuation.separator.delimiter.comma - source: content scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.content - source: . scopes: - punctuation.separator.dot-access @@ -50649,12 +53393,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ) scopes: @@ -50664,7 +53410,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -50691,12 +53438,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: ) scopes: @@ -50706,7 +53455,8 @@ - punctuation.terminator.statement - source: transfer_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.transfer_method - source: . scopes: - punctuation.separator.dot-access @@ -50749,6 +53499,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: transfer_method scopes: + - variable.snake-case - variable.other.unknown.transfer_method - source: ) scopes: @@ -50769,6 +53520,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -50805,6 +53557,7 @@ - keyword.control.return - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ; scopes: @@ -50831,7 +53584,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -50879,13 +53632,15 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50903,13 +53658,15 @@ - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: - keyword.operator.assignment - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -50945,7 +53702,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -51000,18 +53757,21 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -51050,7 +53810,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -51095,18 +53855,21 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_string scopes: + - variable.snake-case - variable.other.unknown.input_string - source: ; scopes: - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -51145,7 +53908,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -51191,6 +53954,7 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: @@ -51203,6 +53967,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_inputeger scopes: + - variable.snake-case - variable.other.unknown.the_inputeger - source: ) scopes: @@ -51212,6 +53977,7 @@ - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -51250,7 +54016,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -51295,12 +54061,17 @@ - source: stringstream scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: input_method scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -51314,6 +54085,7 @@ - comment.line.double-slash - source: input_method scopes: + - variable.snake-case - variable.other.unknown.input_method - source: '<<' scopes: @@ -51335,19 +54107,22 @@ - keyword.operator.bitwise.shift - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_method - source: . scopes: - punctuation.separator.dot-access @@ -51365,6 +54140,7 @@ - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -51403,7 +54179,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -51448,12 +54224,17 @@ - source: stringstream scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: input_method scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -51467,6 +54248,7 @@ - comment.line.double-slash - source: input_method scopes: + - variable.snake-case - variable.other.unknown.input_method - source: '<<' scopes: @@ -51488,19 +54270,22 @@ - keyword.operator.bitwise.shift - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: input_method scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_method - source: . scopes: - punctuation.separator.dot-access @@ -51518,6 +54303,7 @@ - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -51578,7 +54364,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -51619,36 +54405,45 @@ - source: stringstream scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ; scopes: - punctuation.terminator.statement - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: '=' scopes: - keyword.operator.assignment - source: data_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_stream - source: . scopes: - punctuation.separator.dot-access @@ -51666,6 +54461,7 @@ - punctuation.terminator.statement - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '=' scopes: @@ -51743,6 +54539,7 @@ - keyword.control.return - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ; scopes: @@ -51789,6 +54586,7 @@ - punctuation.section.parens.begin.bracket.round - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: '==' scopes: @@ -51825,6 +54623,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ) scopes: @@ -51875,6 +54674,7 @@ - keyword.operator.arithmetic - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ) scopes: @@ -51916,7 +54716,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -51978,6 +54778,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -52013,12 +54814,18 @@ scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data_members scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -52038,13 +54845,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -52065,6 +54874,7 @@ - punctuation.terminator.statement - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: '<<' scopes: @@ -52093,13 +54903,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -52120,6 +54932,7 @@ - punctuation.terminator.statement - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: '<<' scopes: @@ -52150,6 +54963,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -52162,7 +54976,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_members - source: . scopes: - punctuation.separator.dot-access @@ -52186,6 +55001,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ; scopes: @@ -52197,7 +55013,7 @@ - meta.body.function.definition - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -52252,7 +55068,8 @@ - keyword.control.return - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -52264,6 +55081,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ) scopes: @@ -52278,7 +55096,7 @@ - meta.body.function.definition - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: AsData scopesBegin: @@ -52317,12 +55135,17 @@ - source: stringstream scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: out scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -52336,13 +55159,15 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -52375,12 +55200,18 @@ scopes: - punctuation.terminator.statement - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data_members scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -52394,13 +55225,15 @@ - comment.line.double-slash - source: data_members scopes: + - variable.snake-case - variable.other.unknown.data_members - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -52442,6 +55275,7 @@ - comment.line.double-slash - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -52454,7 +55288,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_members scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.data_members - source: . scopes: - punctuation.separator.dot-access @@ -52478,7 +55313,8 @@ - keyword.control.return - source: out scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.out - source: . scopes: - punctuation.separator.dot-access @@ -52516,7 +55352,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -52591,7 +55427,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -52628,6 +55465,7 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: @@ -52640,7 +55478,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -52677,7 +55516,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -52723,12 +55563,18 @@ scopesEnd: - comment.line.double-slash - source: List + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: blank_list scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -52741,17 +55587,24 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: data_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: '<<' scopes: @@ -52764,6 +55617,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: @@ -52772,13 +55626,18 @@ scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: should_always_be_a_newline scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.should_always_be_a_newline + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -52798,12 +55657,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data_stream scopes: + - variable.snake-case - variable.other.unknown.data_stream - source: ',' scopes: - punctuation.separator.delimiter.comma - source: blank_list scopes: + - variable.snake-case - variable.other.unknown.blank_list - source: ) scopes: @@ -52824,12 +55685,14 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift - source: blank_list scopes: + - variable.snake-case - variable.other.unknown.blank_list - source: ; scopes: @@ -52844,13 +55707,15 @@ - keyword.control.return - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -52874,7 +55739,7 @@ - meta.body.function.definition.special.operator-overload - source: istream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -52940,12 +55805,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: in_ scopes: + - variable.snake-case - variable.other.unknown.in_ - source: ',' scopes: - punctuation.separator.delimiter.comma - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ) scopes: @@ -52976,7 +55843,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -53036,12 +55903,17 @@ - source: string scopesBegin: - meta.body.function.definition.special.operator-overload + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: result scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -53061,6 +55933,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -53073,18 +55946,21 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: repetitions scopes: + - variable.lower-case - variable.other.unknown.repetitions - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -53098,12 +55974,14 @@ - meta.parens - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: += scopes: - keyword.operator.assignment.compound - source: base scopes: + - variable.lower-case - variable.other.unknown.base - source: ; scopes: @@ -53119,6 +55997,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: ) scopes: @@ -53134,7 +56013,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -53210,7 +56089,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53258,7 +56138,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53276,6 +56157,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -53318,7 +56200,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53350,6 +56233,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -53370,7 +56254,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -53439,7 +56323,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53494,7 +56379,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53515,6 +56401,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopesBegin: @@ -53556,6 +56443,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: + - variable.snake-case - variable.other.unknown.input_item - source: ) scopes: @@ -53579,7 +56467,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53606,7 +56495,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -53675,7 +56564,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53730,7 +56620,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53751,6 +56642,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopesBegin: @@ -53792,6 +56684,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: + - variable.snake-case - variable.other.unknown.input_item - source: ) scopes: @@ -53815,7 +56708,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53842,7 +56736,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -53910,7 +56804,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -53958,13 +56853,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54007,13 +56904,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54045,7 +56944,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -54120,7 +57019,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54168,7 +57068,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54186,6 +57087,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -54228,7 +57130,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54260,6 +57163,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -54280,7 +57184,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -54349,7 +57253,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54398,7 +57303,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54419,6 +57325,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -54457,6 +57364,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: + - variable.snake-case - variable.other.unknown.input_item - source: ) scopes: @@ -54480,7 +57388,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54507,7 +57416,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -54576,7 +57485,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54625,7 +57535,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54646,6 +57557,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -54684,6 +57596,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: + - variable.snake-case - variable.other.unknown.input_item - source: ) scopes: @@ -54707,7 +57620,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54734,7 +57648,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -54802,7 +57716,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54850,7 +57765,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54868,6 +57784,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -54899,7 +57816,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -54917,6 +57835,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -54937,7 +57856,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -55005,7 +57924,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -55037,7 +57957,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -55091,7 +58012,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -55118,7 +58040,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -55164,7 +58087,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -55182,7 +58106,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -55225,7 +58150,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -55294,7 +58219,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55337,6 +58263,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: '-' scopes: @@ -55349,7 +58276,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55402,6 +58330,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: + - variable.snake-case - variable.other.unknown.input_item - source: ) scopes: @@ -55425,7 +58354,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55452,7 +58382,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -55521,7 +58451,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55564,6 +58495,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: '-' scopes: @@ -55576,7 +58508,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55629,6 +58562,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: + - variable.snake-case - variable.other.unknown.input_item - source: ) scopes: @@ -55652,7 +58586,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55679,7 +58614,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -55748,7 +58683,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55797,7 +58733,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55818,6 +58755,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -55850,7 +58788,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -55888,6 +58827,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: + - variable.snake-case - variable.other.unknown.input_item - source: ) scopesBegin: @@ -55906,7 +58846,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -55975,7 +58915,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56018,6 +58959,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: '-' scopes: @@ -56030,7 +58972,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56077,7 +59020,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56115,6 +59059,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: + - variable.snake-case - variable.other.unknown.input_item - source: ) scopesBegin: @@ -56133,7 +59078,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -56201,7 +59146,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -56233,7 +59179,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -56293,7 +59240,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -56320,7 +59268,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -56421,7 +59370,8 @@ - keyword.operator.arithmetic - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -56453,7 +59403,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -56512,7 +59463,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -56580,7 +59531,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56639,7 +59591,8 @@ - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56690,7 +59643,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56728,16 +59682,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: number_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stoi scopes: - entity.name.function.call @@ -56746,7 +59707,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -56762,6 +59724,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -56775,6 +59739,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '==' scopes: @@ -56844,6 +59809,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '>' scopes: @@ -56862,12 +59828,18 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_string scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -56882,12 +59854,14 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: ; scopes: @@ -56926,6 +59900,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -56950,18 +59925,21 @@ - punctuation.section.block.begin.bracket.curly - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ; scopes: @@ -56987,6 +59965,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: ) scopes: @@ -57048,7 +60027,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -57117,7 +60096,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57155,16 +60135,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: number_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -57186,11 +60173,13 @@ - punctuation.section.parens.begin.bracket.round - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -57205,6 +60194,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '==' scopes: @@ -57274,6 +60264,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '>' scopes: @@ -57292,12 +60283,18 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_string scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -57312,12 +60309,14 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: ; scopes: @@ -57356,6 +60355,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -57380,19 +60380,22 @@ - punctuation.section.block.begin.bracket.curly - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57429,6 +60432,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: ) scopes: @@ -57495,7 +60499,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57543,6 +60548,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: + scopes: @@ -57555,7 +60561,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57590,7 +60597,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -57659,7 +60666,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57697,16 +60705,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: number_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -57728,11 +60743,13 @@ - punctuation.section.parens.begin.bracket.round - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -57747,6 +60764,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '==' scopes: @@ -57816,6 +60834,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '>' scopes: @@ -57834,12 +60853,18 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_string scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -57854,12 +60879,14 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: ; scopes: @@ -57898,6 +60925,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -57922,19 +60950,22 @@ - punctuation.section.block.begin.bracket.curly - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -57971,6 +61002,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: ) scopes: @@ -58037,7 +61069,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58085,6 +61118,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: + scopes: @@ -58097,7 +61131,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58132,7 +61167,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -58208,6 +61243,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -58217,6 +61253,7 @@ - keyword.operator.arithmetic - source: input_item scopes: + - variable.snake-case - variable.other.unknown.input_item - source: ) scopes: @@ -58232,7 +61269,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -58301,7 +61338,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58339,16 +61377,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: number_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -58370,11 +61415,13 @@ - punctuation.section.parens.begin.bracket.round - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -58389,6 +61436,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '==' scopes: @@ -58458,6 +61506,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '>' scopes: @@ -58476,12 +61525,18 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_string scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -58496,12 +61551,14 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: ; scopes: @@ -58540,6 +61597,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -58564,19 +61622,22 @@ - punctuation.section.block.begin.bracket.curly - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58613,6 +61674,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: ) scopes: @@ -58679,7 +61741,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58727,6 +61790,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: + scopes: @@ -58739,7 +61803,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58774,7 +61839,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -58843,7 +61908,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -58881,16 +61947,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: number_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -58912,11 +61985,13 @@ - punctuation.section.parens.begin.bracket.round - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -58931,6 +62006,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '==' scopes: @@ -59000,6 +62076,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '>' scopes: @@ -59018,12 +62095,18 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_string scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -59038,12 +62121,14 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: ; scopes: @@ -59082,6 +62167,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -59106,19 +62192,22 @@ - punctuation.section.block.begin.bracket.curly - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59155,6 +62244,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: ) scopes: @@ -59221,7 +62311,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59269,6 +62360,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: + scopes: @@ -59281,7 +62373,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59316,7 +62409,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -59384,7 +62477,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59462,7 +62556,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59500,16 +62595,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: number_ + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: stoi scopes: - entity.name.function.call @@ -59518,7 +62620,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -59534,6 +62637,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -59547,6 +62652,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '==' scopes: @@ -59616,6 +62722,7 @@ - punctuation.section.parens.begin.bracket.round - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: '>' scopes: @@ -59634,12 +62741,18 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: string + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: output_string scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -59654,12 +62767,14 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: number_ scopes: + - variable.snake-case - variable.other.unknown.number_ - source: ; scopes: @@ -59698,6 +62813,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -59722,18 +62838,21 @@ - punctuation.section.block.begin.bracket.curly - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: '=' scopes: - keyword.operator.assignment - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: + scopes: - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ; scopes: @@ -59759,6 +62878,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output_string scopes: + - variable.snake-case - variable.other.unknown.output_string - source: ) scopes: @@ -59820,7 +62940,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -59890,6 +63010,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: + - variable.snake-case - variable.other.unknown.input_item - source: '*' scopes: @@ -59902,6 +63023,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopesBegin: @@ -59920,7 +63042,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -59993,7 +63115,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -60025,7 +63148,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -60078,6 +63202,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: + - variable.snake-case - variable.other.unknown.input_item1 - source: '*' scopes: @@ -60090,7 +63215,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -60135,7 +63261,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -60167,7 +63294,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -60226,7 +63354,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -60247,6 +63376,7 @@ - keyword.operator.arithmetic - source: input_item2 scopes: + - variable.snake-case - variable.other.unknown.input_item2 - source: ) scopes: @@ -60277,7 +63407,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -60309,7 +63440,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -60368,7 +63500,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -60395,7 +63528,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -60495,7 +63629,8 @@ - keyword.operator.arithmetic - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -60527,7 +63662,8 @@ - keyword.operator.arithmetic - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -60559,7 +63695,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -60591,7 +63728,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -60650,7 +63788,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -60719,7 +63857,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -60766,6 +63905,7 @@ - punctuation.section.parens.begin.bracket.round - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: '==' scopes: @@ -60847,7 +63987,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -60868,6 +64009,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -60929,7 +64071,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -60998,7 +64140,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61052,7 +64195,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61073,6 +64217,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -61129,7 +64274,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -61198,7 +64343,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61252,7 +64398,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61273,6 +64420,7 @@ - keyword.operator.arithmetic - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopes: @@ -61329,7 +64477,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -61398,7 +64546,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61451,7 +64600,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61530,6 +64680,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: / scopes: @@ -61542,7 +64693,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61587,7 +64739,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61640,7 +64793,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61679,7 +64833,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61767,6 +64922,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: / scopes: @@ -61779,7 +64935,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61824,7 +64981,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61877,7 +65035,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -61916,7 +65075,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62004,6 +65164,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: / scopes: @@ -62016,7 +65177,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62092,7 +65254,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -62161,7 +65323,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62214,7 +65377,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62293,6 +65457,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: / scopes: @@ -62305,7 +65470,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62350,7 +65516,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62403,7 +65570,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62442,7 +65610,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62530,6 +65699,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: / scopes: @@ -62542,7 +65712,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62587,7 +65758,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62640,7 +65812,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62679,7 +65852,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62767,6 +65941,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: / scopes: @@ -62779,7 +65954,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62855,7 +66031,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -62924,7 +66100,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -62977,7 +66154,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -63056,6 +66234,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: / scopes: @@ -63068,7 +66247,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -63113,7 +66293,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -63166,7 +66347,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -63205,7 +66387,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -63293,6 +66476,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: / scopes: @@ -63305,7 +66489,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -63350,7 +66535,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -63403,7 +66589,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -63442,7 +66629,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -63530,6 +66718,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: / scopes: @@ -63542,7 +66731,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -63618,7 +66808,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -63686,7 +66876,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -63718,7 +66909,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -63772,7 +66964,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -63799,7 +66992,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -63899,7 +67093,8 @@ - keyword.operator.arithmetic - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -63931,7 +67126,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -63990,7 +67186,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -64059,7 +67255,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -64119,7 +67316,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -64140,6 +67338,7 @@ - punctuation.separator.delimiter.comma - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopesBegin: @@ -64199,7 +67398,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -64268,7 +67467,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -64328,7 +67528,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -64349,6 +67550,7 @@ - punctuation.separator.delimiter.comma - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopesBegin: @@ -64408,7 +67610,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -64477,7 +67679,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -64537,7 +67740,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -64558,6 +67762,7 @@ - punctuation.separator.delimiter.comma - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ) scopesBegin: @@ -64617,7 +67822,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -64686,7 +67891,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -64740,6 +67946,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ',' scopes: @@ -64752,7 +67959,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -64824,7 +68032,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -64893,7 +68101,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -64947,6 +68156,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ',' scopes: @@ -64959,7 +68169,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -65031,7 +68242,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -65100,7 +68311,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -65154,6 +68366,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: the_input scopes: + - variable.snake-case - variable.other.unknown.the_input - source: ',' scopes: @@ -65166,7 +68379,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -65238,7 +68452,7 @@ - meta.body.function.definition.special.operator-overload - source: Item scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -65306,7 +68520,8 @@ - punctuation.section.parens.begin.bracket.round - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -65338,7 +68553,8 @@ - keyword.operator.logical - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -65392,7 +68608,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -65413,6 +68630,7 @@ - keyword.operator.bitwise - source: input_item2 scopes: + - variable.snake-case - variable.other.unknown.input_item2 - source: ) scopes: @@ -65498,7 +68716,8 @@ - keyword.operator.arithmetic - source: input_item1 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item1 - source: . scopes: - punctuation.separator.dot-access @@ -65530,7 +68749,8 @@ - keyword.operator.arithmetic - source: input_item2 scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item2 - source: . scopes: - punctuation.separator.dot-access @@ -65589,7 +68809,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: to_string scopesBegin: @@ -65632,7 +68852,8 @@ - keyword.control.return - source: input_item scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_item - source: . scopes: - punctuation.separator.dot-access @@ -65689,7 +68910,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Is__In__ @@ -65732,18 +68953,27 @@ - source: Item scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: holder + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: value scopes: + - variable.lower-case - variable.other.unknown.value + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -65752,7 +68982,8 @@ - keyword.control.return - source: input_ scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_ - source: . scopes: - punctuation.separator.dot-access @@ -65764,6 +68995,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: holder scopes: + - variable.lower-case - variable.other.unknown.holder - source: ) scopes: @@ -65855,7 +69087,7 @@ - entity.name.function.preprocessor - source: __PutLinesOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__PutLinesOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -65901,6 +69133,7 @@ - entity.name.function.preprocessor - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: ',' scopes: @@ -65917,6 +69150,7 @@ - comment.line.double-slash - source: string scopes: + - variable.lower-case - variable.other.unknown.string - source: __OUTPUT_INDENT scopes: @@ -65967,7 +69201,7 @@ - entity.name.function.preprocessor - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -66014,7 +69248,7 @@ - punctuation.terminator.statement - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -66057,7 +69291,7 @@ - punctuation.section.parens.begin.bracket.round - source: __OUTPUT_INDENT scopes: - - variable.other.object.access + - variable.other.unknown.__OUTPUT_INDENT - source: . scopes: - punctuation.separator.dot-access @@ -66094,7 +69328,7 @@ - keyword.operator.assignment - source: __OUTPUT_INDENT scopes: - - variable.other.object.access + - variable.other.unknown.__OUTPUT_INDENT - source: . scopes: - punctuation.separator.dot-access @@ -66112,7 +69346,7 @@ - punctuation.separator.delimiter.comma - source: __OUTPUT_INDENT scopes: - - variable.other.object.access + - variable.other.unknown.__OUTPUT_INDENT - source: . scopes: - punctuation.separator.dot-access @@ -66147,7 +69381,7 @@ - punctuation.terminator.statement - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -66190,7 +69424,7 @@ - storage.type.modifier.access.public - source: stringstream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -66215,49 +69449,71 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: length_of_last_line + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.length_of_last_line - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dont_go_up_a_line + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.dont_go_up_a_line - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: what_was_just_output + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.what_was_just_output - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -66267,20 +69523,28 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -66290,6 +69554,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -66306,7 +69571,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: go_up_a_line @@ -66329,6 +69594,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -66357,7 +69623,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: go_to_the_right @@ -66393,6 +69659,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -66450,7 +69717,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: save_cursor_position @@ -66473,6 +69740,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -66501,7 +69769,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: restore_cursor_position @@ -66524,6 +69792,7 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -66552,7 +69821,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: length_of_previous_line @@ -66574,19 +69843,26 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: charaters_till_newline + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.charaters_till_newline - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -66601,13 +69877,14 @@ - storage.type.built-in.primitive - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: '=' scopes: - keyword.operator.assignment - source: what_was_just_output scopes: - - variable.other.object.access + - variable.other.unknown.what_was_just_output - source: . scopes: - punctuation.separator.dot-access @@ -66657,6 +69934,7 @@ - keyword.operator.comparison - source: Max_Value scopes: + - variable.snake-case - variable.other.unknown.Max_Value - source: ; scopes: @@ -66697,7 +69975,7 @@ - punctuation.definition.begin.bracket.square - source: what_was_just_output scopes: - - variable.other.object.access + - variable.other.unknown.what_was_just_output - source: . scopes: - punctuation.separator.dot-access @@ -66817,7 +70095,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: reset @@ -66888,7 +70166,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: output_line @@ -66954,7 +70232,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each @@ -66965,6 +70243,7 @@ - punctuation.separator.colon.range-based - source: content scopes: + - variable.lower-case - variable.other.unknown.content scopesEnd: - meta.parens.control.for @@ -66988,6 +70267,7 @@ - punctuation.section.parens.begin.bracket.round - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: '==' scopes: @@ -67017,6 +70297,7 @@ - punctuation.section.block.begin.bracket.curly - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -67034,12 +70315,14 @@ - meta.block - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ; scopes: @@ -67051,6 +70334,7 @@ - meta.block - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -67165,7 +70449,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each @@ -67176,6 +70460,7 @@ - punctuation.separator.colon.range-based - source: content scopes: + - variable.lower-case - variable.other.unknown.content scopesEnd: - meta.parens.control.for @@ -67199,6 +70484,7 @@ - punctuation.section.parens.begin.bracket.round - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: '==' scopes: @@ -67228,6 +70514,7 @@ - punctuation.section.block.begin.bracket.curly - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -67245,12 +70532,14 @@ - meta.block - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: each scopes: + - variable.lower-case - variable.other.unknown.each - source: ; scopes: @@ -67296,7 +70585,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: add_content @@ -67337,18 +70626,21 @@ - keyword.operator.assignment - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: ; scopes: - punctuation.terminator.statement - source: content scopes: + - variable.lower-case - variable.other.unknown.content - source: '=' scopes: - keyword.operator.assignment - source: input_ scopes: + - variable.snake-case - variable.other.unknown.input_ - source: ; scopes: @@ -67371,6 +70663,7 @@ - meta.block.class - source: stringstream scopes: + - variable.lower-case - variable.other.unknown.stringstream - source: __PutsOutputFixerStream scopes: @@ -67430,7 +70723,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -67508,6 +70801,7 @@ - keyword.operator.bitwise - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: '==' scopes: @@ -67563,12 +70857,17 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: converter_to_string scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.converter_to_string + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -67580,6 +70879,7 @@ - keyword.operator.bitwise.shift - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ; scopes: @@ -67593,18 +70893,24 @@ scopesEnd: - comment.line.double-slash - source: string + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: content_being_output + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown.content_being_output - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: converter_to_string scopes: - - variable.other.object.access + - variable.other.unknown.converter_to_string - source: . scopes: - punctuation.separator.dot-access @@ -67617,6 +70923,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -67630,6 +70938,7 @@ - comment.line.double-slash - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -67660,7 +70969,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: each_char @@ -67694,6 +71003,7 @@ - punctuation.section.parens.begin.bracket.round - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: '==' scopes: @@ -67723,6 +71033,7 @@ - punctuation.section.block.begin.bracket.curly - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -67740,12 +71051,14 @@ - meta.block - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: each_char scopes: + - variable.snake-case - variable.other.unknown.each_char - source: ; scopes: @@ -67765,6 +71078,7 @@ - comment.line.double-slash - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -67840,6 +71154,7 @@ - keyword.operator.bitwise - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: '==' scopes: @@ -67870,7 +71185,7 @@ - comment.line.double-slash - source: __PutLinesOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__PutLinesOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -67905,30 +71220,38 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: out_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: out_stream scopes: + - variable.snake-case - variable.other.unknown.out_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement - source: __PutLinesOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__PutLinesOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -67946,7 +71269,8 @@ - keyword.operator.arithmetic - source: out_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.out_stream - source: . scopes: - punctuation.separator.dot-access @@ -67975,7 +71299,7 @@ - comment.line.double-slash - source: __PutLinesOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__PutLinesOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -68020,6 +71344,7 @@ - keyword.operator.bitwise - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: '==' scopes: @@ -68050,7 +71375,7 @@ - comment.line.double-slash - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -68120,23 +71445,31 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: out_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: out_stream scopes: + - variable.snake-case - variable.other.unknown.out_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ; scopes: @@ -68170,7 +71503,7 @@ - punctuation.section.block.begin.bracket.curly - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -68188,7 +71521,8 @@ - keyword.operator.arithmetic - source: out_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.out_stream - source: . scopes: - punctuation.separator.dot-access @@ -68241,7 +71575,7 @@ - punctuation.section.block.begin.bracket.curly - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -68259,7 +71593,8 @@ - keyword.operator.arithmetic - source: out_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.out_stream - source: . scopes: - punctuation.separator.dot-access @@ -68293,7 +71628,7 @@ - comment.line.double-slash - source: __LogOutputFixerStream scopes: - - variable.other.object.access + - variable.other.unknown.__LogOutputFixerStream - source: . scopes: - punctuation.separator.dot-access @@ -68332,6 +71667,7 @@ - comment.line.double-slash - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: '<<' scopes: @@ -68388,36 +71724,46 @@ scopesEnd: - comment.line.double-slash - source: stringstream + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: out_stream scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: out_stream scopes: + - variable.snake-case - variable.other.unknown.out_stream - source: '<<' scopes: - keyword.operator.bitwise.shift - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ; scopes: - punctuation.terminator.statement - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: '<<' scopes: - keyword.operator.bitwise.shift - source: out_stream scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.out_stream - source: . scopes: - punctuation.separator.dot-access @@ -68443,6 +71789,7 @@ - keyword.control.return - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: ; scopes: @@ -68469,7 +71816,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -68503,7 +71850,7 @@ - punctuation.separator.delimiter.comma - source: ostream scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -68570,6 +71917,7 @@ - keyword.operator.bitwise - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: '==' scopes: @@ -68592,12 +71940,14 @@ - punctuation.section.block.begin.bracket.curly - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: manip_fun scopes: + - variable.snake-case - variable.other.unknown.manip_fun - source: ; scopes: @@ -68623,6 +71973,7 @@ - keyword.operator.bitwise - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: '==' scopes: @@ -68672,12 +72023,14 @@ - punctuation.section.block.begin.bracket.curly - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: manip_fun scopes: + - variable.snake-case - variable.other.unknown.manip_fun - source: ; scopes: @@ -68718,12 +72071,14 @@ - comment.line.double-slash - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: '<<' scopes: - keyword.operator.bitwise.shift - source: manip_fun scopes: + - variable.snake-case - variable.other.unknown.manip_fun - source: ; scopes: @@ -68738,6 +72093,7 @@ - keyword.control.return - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: ; scopes: diff --git a/language_examples/misc_006.spec.yaml b/language_examples/misc_006.spec.yaml index 67c08c96..73089dba 100644 --- a/language_examples/misc_006.spec.yaml +++ b/language_examples/misc_006.spec.yaml @@ -1157,6 +1157,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -1202,6 +1203,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -1225,6 +1227,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -1248,6 +1251,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -1299,6 +1303,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: + scopes: @@ -1311,6 +1316,7 @@ - keyword.operator.arithmetic - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ) scopes: @@ -1341,6 +1347,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1370,6 +1377,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1400,6 +1408,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1435,6 +1444,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: + scopes: @@ -1447,6 +1457,7 @@ - keyword.operator.arithmetic - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ) scopes: @@ -1477,6 +1488,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1506,6 +1518,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1536,6 +1549,7 @@ - punctuation.section.parens.begin.bracket.round - source: expression scopes: + - variable.lower-case - variable.other.unknown.expression - source: ) scopes: @@ -1569,6 +1583,7 @@ - support.type.built-in.posix-reserved.pthread - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ; scopes: @@ -1579,6 +1594,7 @@ - support.type.built-in.posix-reserved.pthread - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ; scopes: @@ -1664,6 +1680,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -1698,6 +1715,7 @@ - keyword.operator.delete - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ; scopes: @@ -1716,7 +1734,7 @@ - keyword.operator.bitwise - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -1745,7 +1763,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -1758,6 +1776,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable scopes: + - variable.snake-case - variable.other.unknown.a_callable - source: ) scopesBegin: @@ -1777,6 +1796,7 @@ - keyword.operator.arithmetic - source: array scopes: + - variable.lower-case - variable.other.unknown.array - source: '=' scopes: @@ -1817,6 +1837,7 @@ - keyword.operator.wordlike - source: array scopes: + - variable.lower-case - variable.other.unknown.array - source: ; scopes: @@ -1837,6 +1858,7 @@ - storage.type.built-in.primitive - source: deleter scopes: + - variable.lower-case - variable.other.unknown.deleter - source: ; scopes: @@ -2035,7 +2057,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: __MAGIC__show @@ -2084,12 +2106,14 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: @@ -2128,12 +2152,14 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: - keyword.operator.bitwise.shift - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ; scopes: @@ -2188,7 +2214,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2223,7 +2249,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: streamsize scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2258,14 +2284,14 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANY_OUTPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: ANY_INPUT_TYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2279,6 +2305,7 @@ - punctuation.separator.scope-resolution - source: links_to scopes: + - variable.snake-case - variable.other.unknown.links_to - source: ; scopes: @@ -2295,6 +2322,7 @@ - punctuation.separator.scope-resolution - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ; scopes: @@ -2310,7 +2338,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: ANYTYPE scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2332,7 +2360,8 @@ - punctuation.definition.begin.bracket.square - source: input_event scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.input_event - source: . scopes: - punctuation.separator.dot-access @@ -2371,6 +2400,7 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.lower-case - variable.other.unknown.acopy - source: ) scopes: @@ -2393,6 +2423,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy scopes: + - variable.lower-case - variable.other.unknown.acopy - source: ',' scopes: @@ -2433,6 +2464,7 @@ - source: acopy scopes: - meta.arguments.decltype + - variable.lower-case - variable.other.unknown.acopy - source: ) scopes: @@ -2455,6 +2487,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: acopy scopes: + - variable.lower-case - variable.other.unknown.acopy - source: ',' scopes: @@ -2483,12 +2516,14 @@ - comment.line.double-slash - source: window scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.window - source: . scopes: - punctuation.separator.dot-access - source: as scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2528,12 +2563,14 @@ - punctuation.terminator.statement - source: window scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.window - source: . scopes: - punctuation.separator.dot-access - source: MV scopes: + - variable.upper-case - variable.other.object.property - source: . scopes: @@ -2573,7 +2610,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2585,7 +2623,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2597,7 +2636,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2609,7 +2649,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2621,12 +2662,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2639,12 +2682,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: .* scopes: @@ -2657,12 +2702,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2675,12 +2722,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -2693,12 +2742,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -2711,12 +2762,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2729,12 +2782,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: .* scopes: @@ -2747,12 +2802,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2765,7 +2822,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2790,7 +2848,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2815,7 +2874,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2840,7 +2900,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2865,7 +2926,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -2896,7 +2958,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -2927,7 +2990,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -2958,7 +3022,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -2989,7 +3054,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3007,7 +3073,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3025,7 +3092,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -3043,7 +3110,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3061,7 +3128,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3085,7 +3153,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3109,7 +3178,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -3133,7 +3202,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3162,7 +3231,8 @@ - punctuation.section.block.begin.bracket.curly - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3193,7 +3263,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3224,7 +3295,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -3255,7 +3327,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3286,7 +3359,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3298,7 +3372,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3310,7 +3385,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access @@ -3322,7 +3398,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3340,7 +3417,8 @@ - punctuation.section.block.begin.bracket.curly - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -3358,7 +3436,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access @@ -3376,7 +3455,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->' scopes: - punctuation.separator.pointer-access @@ -3394,7 +3473,7 @@ - punctuation.terminator.statement - source: ptr_to_original scopes: - - variable.other.object.access + - variable.other.unknown.ptr_to_original - source: '->*' scopes: - punctuation.separator.pointer-access @@ -3432,7 +3511,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -3502,7 +3581,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3573,7 +3652,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3644,7 +3723,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3715,7 +3794,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -3881,7 +3960,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4056,6 +4135,7 @@ - punctuation.definition.parameters.end.preprocessor - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -4135,7 +4215,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -4165,6 +4245,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -4193,12 +4274,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -4215,6 +4298,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: @@ -4228,6 +4312,7 @@ - punctuation.separator.scope-resolution - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -4240,12 +4325,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -4262,6 +4349,7 @@ - punctuation.separator.scope-resolution - source: endl scopes: + - variable.lower-case - variable.other.unknown.endl - source: ; scopes: @@ -4378,6 +4466,7 @@ - punctuation.separator.scope-resolution.template.definition - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopesBegin: @@ -4452,7 +4541,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4549,6 +4638,7 @@ - punctuation.separator.scope-resolution.template.definition - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopes: @@ -4569,7 +4659,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4666,6 +4756,7 @@ - punctuation.separator.scope-resolution.template.definition - source: vector scopes: + - variable.lower-case - variable.other.unknown.vector - source: < scopes: @@ -4686,7 +4777,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4753,7 +4844,7 @@ - meta.body.struct - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4883,7 +4974,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: internalConversionToFuncPtr @@ -4914,7 +5005,7 @@ - punctuation.separator.delimiter.comma - source: Ret scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -4955,31 +5046,41 @@ - source: static scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - storage.modifier.specifier.static - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: used + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: static + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.static - source: storage scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -4989,17 +5090,20 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: a_storage_of_callable scopes: - - variable.other.object.declare + - meta.declaration + - variable.other.unknown.a_storage_of_callable + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -5028,7 +5132,7 @@ scopesBegin: - meta.arguments.decltype scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -5057,6 +5161,7 @@ - punctuation.section.parens.begin.bracket.round - source: used scopes: + - variable.lower-case - variable.other.unknown.used - source: ) scopes: @@ -5070,12 +5175,13 @@ - punctuation.section.block.begin.bracket.curly - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access - source: callable scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -5111,7 +5217,7 @@ - keyword.operator.bitwise - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -5140,7 +5246,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5153,6 +5259,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_callable scopes: + - variable.snake-case - variable.other.unknown.a_callable - source: ) scopesBegin: @@ -5165,6 +5272,7 @@ - punctuation.terminator.statement - source: used scopes: + - variable.lower-case - variable.other.unknown.used - source: '=' scopes: @@ -5237,7 +5345,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -5258,7 +5366,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Args scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5271,6 +5379,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ) scopes: @@ -5346,7 +5455,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -5401,7 +5510,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: 'N' scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5423,7 +5532,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Callable scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -5436,6 +5545,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: c scopes: + - variable.lower-case - variable.other.unknown.c - source: ) scopes: @@ -5450,6 +5560,7 @@ - punctuation.section.parens.begin.bracket.round - source: RETURN_TYPE scopes: + - variable.snake-case - variable.other.unknown.RETURN_TYPE - source: '*' scopes: @@ -5534,19 +5645,28 @@ scopesEnd: - storage.type.modifier.access.control.protected - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5633,19 +5753,28 @@ scopesEnd: - storage.type.modifier.access.control.protected - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5703,7 +5832,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5747,7 +5876,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5791,7 +5920,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5835,7 +5964,7 @@ - meta.body.class - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: A @@ -5901,7 +6030,7 @@ - storage.type.modifier.access.public - source: ClassA scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -5998,7 +6127,7 @@ - storage.type.modifier.access.public - source: foo scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -6009,7 +6138,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance @@ -6018,7 +6147,7 @@ - storage.type.modifier.access.public - source: foo scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -6029,7 +6158,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.block.begin.bracket.curly.class @@ -6084,7 +6213,7 @@ - storage.type.modifier.access.public - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -6117,21 +6246,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: pointerT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: hashT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: allocatorT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6161,7 +6290,7 @@ scopesBegin: - meta.body.struct - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type - support.other.attribute scopes: - punctuation.section.attribute.begin @@ -6178,7 +6307,7 @@ - storage.type.primitive - storage.type.built-in.primitive scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: operator scopesBegin: - meta.head.function.definition.special.operator-overload @@ -6329,7 +6458,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: domain_error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -6372,7 +6501,7 @@ - storage.modifier - source: allocatorT scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -6384,7 +6513,7 @@ - entity.name.type scopesEnd: - meta.arguments.operator.typeid - - meta.qualified_type + - meta.qualified-type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.operator.typeid @@ -6614,21 +6743,21 @@ - storage.type.modifier.access.private - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: foo scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6638,21 +6767,21 @@ - storage.type.modifier.access.public - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: foo scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6662,14 +6791,14 @@ - storage.type.modifier.access.protected - source: bar scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.inheritance - source: quix scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -6732,7 +6861,7 @@ - storage.type.modifier.access.public - source: A scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6742,7 +6871,7 @@ - storage.type.modifier.access.public - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '{' scopes: @@ -6777,7 +6906,7 @@ - storage.type.modifier.access.public - source: A scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6787,7 +6916,7 @@ - storage.type.modifier.access.public - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -6842,7 +6971,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ToBinary scopesBegin: @@ -6907,6 +7036,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: input scopes: + - variable.lower-case - variable.other.unknown.input - source: ) scopes: @@ -6951,6 +7081,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -7374,6 +7505,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -7412,6 +7544,7 @@ - storage.type.built-in.primitive - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: '=' scopes: @@ -7492,7 +7625,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: a_storage_of_callable scopes: - - variable.other.object.access + - variable.other.unknown.a_storage_of_callable - source: . scopes: - punctuation.separator.dot-access @@ -7513,7 +7646,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Args scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7526,6 +7659,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ) scopes: @@ -7759,7 +7893,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -7781,16 +7915,22 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -7798,6 +7938,7 @@ - punctuation.section.parens.begin.bracket.round - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: + scopes: @@ -7816,6 +7957,8 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7848,6 +7991,7 @@ - punctuation.section.parens.begin.bracket.round - source: test scopes: + - variable.lower-case - variable.other.unknown.test - source: ) scopes: @@ -7931,6 +8075,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -8015,7 +8160,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8027,6 +8173,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -8067,7 +8214,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8129,7 +8277,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8191,7 +8340,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8253,7 +8403,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8315,7 +8466,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8377,7 +8529,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8439,7 +8592,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8501,7 +8655,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8563,7 +8718,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8625,7 +8781,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -8687,6 +8844,7 @@ - punctuation.section.block.begin.bracket.curly - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: += scopes: @@ -8740,6 +8898,7 @@ - punctuation.section.block.begin.bracket.curly - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: += scopes: @@ -8793,6 +8952,7 @@ - punctuation.section.block.begin.bracket.curly - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: += scopes: @@ -8825,12 +8985,14 @@ - punctuation.section.parens.begin.bracket.round - source: qavail scopes: + - variable.lower-case - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: + scopes: @@ -8859,13 +9021,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -8903,19 +9067,28 @@ scopesEnd: - meta.block - source: char32_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved - source: cpnt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -8935,30 +9108,35 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: ; scopes: @@ -8968,6 +9146,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -8993,6 +9172,7 @@ - storage.type.built-in.primitive - source: s_digits scopes: + - variable.snake-case - variable.other.assignment - source: '[' scopes: @@ -9018,16 +9198,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -9066,6 +9253,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: @@ -9086,6 +9274,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -9095,6 +9284,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -9111,6 +9302,7 @@ - keyword.operator.logical - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: ) scopes: @@ -9133,12 +9325,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: + scopes: @@ -9171,16 +9365,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dvalue + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -9207,12 +9408,14 @@ - punctuation.section.parens.begin.bracket.round - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ) scopes: @@ -9229,18 +9432,21 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '*' scopes: @@ -9253,6 +9459,7 @@ - keyword.operator.arithmetic - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ; scopes: @@ -9272,6 +9479,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '==' scopes: @@ -9307,7 +9515,8 @@ - comment.line.double-slash - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -9338,6 +9547,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -9398,6 +9608,7 @@ - keyword.operator.comparison - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -9414,6 +9625,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -9453,6 +9665,7 @@ - keyword.operator.comparison - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -9488,18 +9701,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: ',' scopes: @@ -9534,16 +9750,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: encode_one + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -9592,7 +9815,8 @@ - punctuation.section.block.begin.bracket.curly.lambda - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -9631,6 +9855,7 @@ - keyword.operator.bitwise - source: mask scopes: + - variable.lower-case - variable.other.unknown.mask - source: '<<' scopes: @@ -9658,12 +9883,14 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '>>' scopes: - keyword.operator.bitwise.shift - source: shift scopes: + - variable.lower-case - variable.other.unknown.shift - source: ) scopes: @@ -9675,6 +9902,7 @@ - keyword.operator.bitwise - source: mask scopes: + - variable.lower-case - variable.other.unknown.mask - source: ) scopes: @@ -9696,6 +9924,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -9710,6 +9939,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -9775,6 +10005,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -9864,6 +10095,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -10080,6 +10312,7 @@ - source: ':' - source: thing scopes: + - variable.lower-case - variable.other.unknown.thing - source: ; scopes: @@ -10093,7 +10326,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func1 @@ -10129,7 +10362,7 @@ - support.other.attribute - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func2 @@ -10206,7 +10439,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func3 diff --git a/language_examples/misc_asteria.spec.yaml b/language_examples/misc_asteria.spec.yaml index 737801b5..d8162472 100644 --- a/language_examples/misc_asteria.spec.yaml +++ b/language_examples/misc_asteria.spec.yaml @@ -160,7 +160,8 @@ - storage.type.modifier.access.control.private - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -184,43 +185,60 @@ - punctuation.separator.scope-resolution.template.call - source: streambuf scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: m_cbuf scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: Cow_String + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: m_file scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: Cow_String + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: m_str scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -232,16 +250,21 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: m_line scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -253,10 +276,14 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: m_offset scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -331,6 +358,7 @@ - source: xcbuf scopes: - meta.parameter.initialization + - variable.lower-case - variable.other.unknown.xcbuf - source: ) scopes: @@ -348,6 +376,7 @@ - source: xfile scopes: - meta.parameter.initialization + - variable.lower-case - variable.other.unknown.xfile - source: ) scopes: @@ -454,7 +483,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -512,7 +541,7 @@ - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -523,7 +552,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -576,7 +605,7 @@ - storage.modifier.const - source: Cow_String scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -627,7 +656,7 @@ - meta.body.function.definition - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -639,7 +668,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: line scopesBegin: - meta.head.function.definition @@ -686,7 +715,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: advance @@ -722,6 +751,7 @@ - punctuation.separator.pointer-access - source: m_str scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -791,16 +821,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ich + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: this scopes: - variable.language.this @@ -809,6 +846,7 @@ - punctuation.separator.pointer-access - source: m_cbuf scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -834,6 +872,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -847,6 +887,7 @@ - punctuation.section.parens.begin.bracket.round - source: ich scopes: + - variable.lower-case - variable.other.unknown.ich - source: '==' scopes: @@ -924,6 +965,7 @@ - punctuation.separator.pointer-access - source: m_str scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -982,6 +1024,7 @@ - punctuation.section.parens.begin.bracket.round - source: ich scopes: + - variable.lower-case - variable.other.unknown.ich - source: '==' scopes: @@ -1028,6 +1071,7 @@ - punctuation.separator.pointer-access - source: m_str scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -1059,6 +1103,7 @@ - punctuation.section.parens.begin.bracket.round - source: ich scopes: + - variable.lower-case - variable.other.unknown.ich - source: ) scopes: @@ -1101,10 +1146,12 @@ - punctuation.terminator.statement - source: ASTERIA_DEBUG_LOG scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -1179,6 +1226,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -1198,7 +1246,7 @@ - meta.body.function.definition - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1210,7 +1258,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: offset scopesBegin: - meta.head.function.definition @@ -1260,7 +1308,7 @@ - storage.modifier.const - source: char scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' @@ -1301,6 +1349,7 @@ - punctuation.separator.pointer-access - source: m_str scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -1336,7 +1385,7 @@ - meta.body.function.definition - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1348,7 +1397,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: size_avail scopesBegin: - meta.head.function.definition @@ -1384,6 +1433,7 @@ - punctuation.separator.pointer-access - source: m_str scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -1419,7 +1469,7 @@ - meta.body.function.definition - source: char scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: peek @@ -1482,6 +1532,7 @@ - punctuation.section.parens.begin.bracket.round - source: add scopes: + - variable.lower-case - variable.other.unknown.add - source: '>' scopes: @@ -1550,6 +1601,7 @@ - punctuation.definition.begin.bracket.square - source: add scopes: + - variable.lower-case - variable.other.unknown.add - source: ']' scopes: @@ -1566,7 +1618,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: consume @@ -1617,6 +1669,7 @@ - punctuation.section.parens.begin.bracket.round - source: add scopes: + - variable.lower-case - variable.other.unknown.add - source: '>' scopes: @@ -1648,10 +1701,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -1666,6 +1721,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -1688,6 +1744,7 @@ - keyword.operator.assignment.compound - source: add scopes: + - variable.lower-case - variable.other.unknown.add - source: ; scopes: @@ -1699,7 +1756,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: rewind @@ -1763,6 +1820,7 @@ - keyword.operator.assignment - source: xoffset scopes: + - variable.lower-case - variable.other.unknown.xoffset - source: ; scopes: @@ -1790,7 +1848,7 @@ - storage.modifier.inline - source: Parser_Error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: do_make_parser_error scopesBegin: @@ -1872,7 +1930,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -1890,7 +1949,8 @@ - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -1908,12 +1968,14 @@ - punctuation.separator.delimiter.comma - source: length scopes: + - variable.lower-case - variable.other.unknown.length - source: ',' scopes: - punctuation.separator.delimiter.comma - source: code scopes: + - variable.lower-case - variable.other.unknown.code - source: ) scopes: @@ -1951,7 +2013,8 @@ - storage.type.modifier.access.control.private - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1963,16 +2026,21 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: m_line scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1984,16 +2052,21 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: m_offset scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -2005,10 +2078,14 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: m_length scopes: - - variable.other.object.declare + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -2119,7 +2196,7 @@ - storage.modifier.constexpr - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -2131,7 +2208,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: line scopesBegin: - meta.head.function.definition @@ -2181,7 +2258,7 @@ - storage.modifier.constexpr - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -2193,7 +2270,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: offset scopesBegin: - meta.head.function.definition @@ -2243,7 +2320,7 @@ - storage.modifier.constexpr - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -2255,7 +2332,7 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: length scopesBegin: - meta.head.function.definition @@ -2369,7 +2446,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -2444,7 +2521,8 @@ - keyword.operator.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -2474,7 +2552,8 @@ - keyword.operator.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -2504,6 +2583,7 @@ - keyword.operator.assignment - source: xlength scopes: + - variable.lower-case - variable.other.unknown.xlength - source: ; scopes: @@ -2527,7 +2607,7 @@ - meta.body.function.definition - source: Tack scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: @@ -2603,7 +2683,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved - source: do_get_utf8_code_point @@ -2647,19 +2727,27 @@ scopesEnd: - comment.line.double-slash - source: char32_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved - source: cpnt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -2681,6 +2769,8 @@ - source: FF scopes: - constant.numeric.hexadecimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -2694,6 +2784,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -2724,7 +2815,8 @@ - comment.line.double-slash - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -2748,6 +2840,7 @@ - keyword.control.return - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ; scopes: @@ -2772,6 +2865,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -2806,6 +2900,7 @@ - keyword.operator.comparison - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -2841,6 +2936,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: @@ -2881,16 +2977,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: u8len + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -2930,6 +3033,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '>=' scopes: @@ -2955,6 +3059,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '>=' scopes: @@ -2974,18 +3079,22 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: ROCKET_ASSERT scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: u8len scopes: + - variable.lower-case - variable.other.unknown.u8len - source: '>=' scopes: @@ -2996,17 +3105,21 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement - source: ROCKET_ASSERT scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: u8len scopes: + - variable.lower-case - variable.other.unknown.u8len - source: <= scopes: @@ -3017,6 +3130,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -3030,13 +3144,15 @@ - punctuation.section.parens.begin.bracket.round - source: u8len scopes: + - variable.lower-case - variable.other.unknown.u8len - source: '>' scopes: - keyword.operator.comparison - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3078,13 +3194,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3131,6 +3249,7 @@ - comment.line.double-slash - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '&' scopes: @@ -3140,10 +3259,12 @@ - keyword.operator.assignment - source: UINT32_C scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: 0x scopes: - keyword.other.unit.hexadecimal @@ -3153,11 +3274,13 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '>>' scopes: - keyword.operator.bitwise.shift - source: u8len scopes: + - variable.lower-case - variable.other.unknown.u8len - source: ; scopes: @@ -3193,6 +3316,7 @@ - storage.type.built-in - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -3205,12 +3329,14 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: u8len scopes: + - variable.lower-case - variable.other.unknown.u8len - source: ; scopes: @@ -3220,6 +3346,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -3234,19 +3361,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: char32_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved - source: next + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3258,6 +3393,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ) scopes: @@ -3271,6 +3407,8 @@ - source: FF scopes: - constant.numeric.hexadecimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -3289,6 +3427,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: < scopes: @@ -3323,6 +3462,7 @@ - keyword.operator.comparison - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -3358,12 +3498,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: + scopes: @@ -3397,6 +3539,7 @@ - meta.block - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '=' scopes: @@ -3408,6 +3551,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '<<' scopes: @@ -3430,6 +3574,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '&' scopes: @@ -3482,6 +3627,7 @@ - keyword.operator.comparison - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -3498,6 +3644,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -3537,6 +3684,7 @@ - keyword.operator.comparison - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -3572,12 +3720,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: u8len scopes: + - variable.lower-case - variable.other.unknown.u8len - source: ',' scopes: @@ -3612,16 +3762,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: mlen + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -3661,6 +3818,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '>=' scopes: @@ -3686,6 +3844,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '>=' scopes: @@ -3711,6 +3870,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '>=' scopes: @@ -3730,6 +3890,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -3744,12 +3905,14 @@ - punctuation.section.parens.begin.bracket.round - source: mlen scopes: + - variable.lower-case - variable.other.unknown.mlen - source: '!=' scopes: - keyword.operator.comparison - source: u8len scopes: + - variable.lower-case - variable.other.unknown.u8len - source: ) scopes: @@ -3780,12 +3943,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: u8len scopes: + - variable.lower-case - variable.other.unknown.u8len - source: ',' scopes: @@ -3813,7 +3978,8 @@ - meta.block - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3825,6 +3991,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: u8len scopes: + - variable.lower-case - variable.other.unknown.u8len - source: ) scopes: @@ -3837,6 +4004,7 @@ - keyword.control.return - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ; scopes: @@ -3870,7 +4038,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: do_push_token @@ -3894,7 +4062,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -3966,7 +4134,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -3978,7 +4147,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -3996,7 +4166,8 @@ - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -4014,7 +4185,8 @@ - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -4032,6 +4204,7 @@ - punctuation.separator.delimiter.comma - source: length scopes: + - variable.lower-case - variable.other.unknown.length - source: ',' scopes: @@ -4054,7 +4227,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: XtokenT scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4067,6 +4240,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken scopes: + - variable.lower-case - variable.other.unknown.xtoken - source: ) scopes: @@ -4079,7 +4253,8 @@ - punctuation.terminator.statement - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -4091,6 +4266,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: length scopes: + - variable.lower-case - variable.other.unknown.length - source: ) scopes: @@ -4141,7 +4317,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4247,7 +4423,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: lhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.lhs - source: . scopes: - punctuation.separator.dot-access @@ -4259,7 +4436,8 @@ - punctuation.separator.delimiter.comma - source: rhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rhs - source: . scopes: - punctuation.separator.dot-access @@ -4280,7 +4458,8 @@ scopesBegin: - meta.arguments.operator.sizeof scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.lhs - source: . scopes: - punctuation.separator.dot-access @@ -4334,7 +4513,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4435,13 +4614,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: lhs scopes: + - variable.lower-case - variable.other.unknown.lhs - source: ',' scopes: - punctuation.separator.delimiter.comma - source: rhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rhs - source: . scopes: - punctuation.separator.dot-access @@ -4497,7 +4678,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -4598,7 +4779,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: lhs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.lhs - source: . scopes: - punctuation.separator.dot-access @@ -4623,6 +4805,7 @@ - punctuation.separator.delimiter.comma - source: rhs scopes: + - variable.lower-case - variable.other.unknown.rhs - source: ) scopes: @@ -4651,7 +4834,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: do_accept_identifier_or_keyword @@ -4675,7 +4858,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4746,7 +4929,7 @@ - storage.type.built-in.primitive - source: s_name_chars scopes: - - variable.other.assignment + - variable.other.unknown.s_name_chars - source: '[' scopes: - punctuation.definition.begin.bracket.square.array.type @@ -4771,19 +4954,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -4796,6 +4987,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4913,25 +5106,34 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: eptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -4944,20 +5146,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: tptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -4973,12 +5184,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma - source: eptr scopes: + - variable.lower-case - variable.other.unknown.eptr - source: ',' scopes: @@ -5072,6 +5285,7 @@ - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -5087,20 +5301,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: tlen + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -5129,17 +5352,20 @@ - punctuation.section.parens.begin.bracket.round - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -5216,7 +5442,8 @@ - punctuation.terminator.statement - source: Token scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -5227,10 +5454,14 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: second scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -5267,6 +5498,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: s_keywords scopes: + - variable.snake-case - variable.other.assignment - source: '[' scopes: @@ -5310,6 +5542,7 @@ - punctuation.separator.scope-resolution - source: keyword_and scopes: + - variable.snake-case - variable.other.unknown.keyword_and - source: '}' scopes: @@ -5347,6 +5580,7 @@ - punctuation.separator.scope-resolution - source: keyword_assert scopes: + - variable.snake-case - variable.other.unknown.keyword_assert - source: '}' scopes: @@ -5384,6 +5618,7 @@ - punctuation.separator.scope-resolution - source: keyword_break scopes: + - variable.snake-case - variable.other.unknown.keyword_break - source: '}' scopes: @@ -5421,6 +5656,7 @@ - punctuation.separator.scope-resolution - source: keyword_case scopes: + - variable.snake-case - variable.other.unknown.keyword_case - source: '}' scopes: @@ -5458,6 +5694,7 @@ - punctuation.separator.scope-resolution - source: keyword_catch scopes: + - variable.snake-case - variable.other.unknown.keyword_catch - source: '}' scopes: @@ -5495,6 +5732,7 @@ - punctuation.separator.scope-resolution - source: keyword_const scopes: + - variable.snake-case - variable.other.unknown.keyword_const - source: '}' scopes: @@ -5532,6 +5770,7 @@ - punctuation.separator.scope-resolution - source: keyword_continue scopes: + - variable.snake-case - variable.other.unknown.keyword_continue - source: '}' scopes: @@ -5569,6 +5808,7 @@ - punctuation.separator.scope-resolution - source: keyword_default scopes: + - variable.snake-case - variable.other.unknown.keyword_default - source: '}' scopes: @@ -5606,6 +5846,7 @@ - punctuation.separator.scope-resolution - source: keyword_defer scopes: + - variable.snake-case - variable.other.unknown.keyword_defer - source: '}' scopes: @@ -5643,6 +5884,7 @@ - punctuation.separator.scope-resolution - source: keyword_do scopes: + - variable.snake-case - variable.other.unknown.keyword_do - source: '}' scopes: @@ -5680,6 +5922,7 @@ - punctuation.separator.scope-resolution - source: keyword_each scopes: + - variable.snake-case - variable.other.unknown.keyword_each - source: '}' scopes: @@ -5717,6 +5960,7 @@ - punctuation.separator.scope-resolution - source: keyword_else scopes: + - variable.snake-case - variable.other.unknown.keyword_else - source: '}' scopes: @@ -5754,6 +5998,7 @@ - punctuation.separator.scope-resolution - source: keyword_false scopes: + - variable.snake-case - variable.other.unknown.keyword_false - source: '}' scopes: @@ -5791,6 +6036,7 @@ - punctuation.separator.scope-resolution - source: keyword_for scopes: + - variable.snake-case - variable.other.unknown.keyword_for - source: '}' scopes: @@ -5828,6 +6074,7 @@ - punctuation.separator.scope-resolution - source: keyword_func scopes: + - variable.snake-case - variable.other.unknown.keyword_func - source: '}' scopes: @@ -5865,6 +6112,7 @@ - punctuation.separator.scope-resolution - source: keyword_if scopes: + - variable.snake-case - variable.other.unknown.keyword_if - source: '}' scopes: @@ -5902,6 +6150,7 @@ - punctuation.separator.scope-resolution - source: keyword_infinity scopes: + - variable.snake-case - variable.other.unknown.keyword_infinity - source: '}' scopes: @@ -5939,6 +6188,7 @@ - punctuation.separator.scope-resolution - source: keyword_lengthof scopes: + - variable.snake-case - variable.other.unknown.keyword_lengthof - source: '}' scopes: @@ -5976,6 +6226,7 @@ - punctuation.separator.scope-resolution - source: keyword_nan scopes: + - variable.snake-case - variable.other.unknown.keyword_nan - source: '}' scopes: @@ -6013,6 +6264,7 @@ - punctuation.separator.scope-resolution - source: keyword_not scopes: + - variable.snake-case - variable.other.unknown.keyword_not - source: '}' scopes: @@ -6050,6 +6302,7 @@ - punctuation.separator.scope-resolution - source: keyword_null scopes: + - variable.snake-case - variable.other.unknown.keyword_null - source: '}' scopes: @@ -6087,6 +6340,7 @@ - punctuation.separator.scope-resolution - source: keyword_or scopes: + - variable.snake-case - variable.other.unknown.keyword_or - source: '}' scopes: @@ -6124,6 +6378,7 @@ - punctuation.separator.scope-resolution - source: keyword_return scopes: + - variable.snake-case - variable.other.unknown.keyword_return - source: '}' scopes: @@ -6161,6 +6416,7 @@ - punctuation.separator.scope-resolution - source: keyword_switch scopes: + - variable.snake-case - variable.other.unknown.keyword_switch - source: '}' scopes: @@ -6198,6 +6454,7 @@ - punctuation.separator.scope-resolution - source: keyword_this scopes: + - variable.snake-case - variable.other.unknown.keyword_this - source: '}' scopes: @@ -6235,6 +6492,7 @@ - punctuation.separator.scope-resolution - source: keyword_throw scopes: + - variable.snake-case - variable.other.unknown.keyword_throw - source: '}' scopes: @@ -6272,6 +6530,7 @@ - punctuation.separator.scope-resolution - source: keyword_true scopes: + - variable.snake-case - variable.other.unknown.keyword_true - source: '}' scopes: @@ -6309,6 +6568,7 @@ - punctuation.separator.scope-resolution - source: keyword_try scopes: + - variable.snake-case - variable.other.unknown.keyword_try - source: '}' scopes: @@ -6346,6 +6606,7 @@ - punctuation.separator.scope-resolution - source: keyword_typeof scopes: + - variable.snake-case - variable.other.unknown.keyword_typeof - source: '}' scopes: @@ -6383,6 +6644,7 @@ - punctuation.separator.scope-resolution - source: keyword_unset scopes: + - variable.snake-case - variable.other.unknown.keyword_unset - source: '}' scopes: @@ -6420,6 +6682,7 @@ - punctuation.separator.scope-resolution - source: keyword_var scopes: + - variable.snake-case - variable.other.unknown.keyword_var - source: '}' scopes: @@ -6457,6 +6720,7 @@ - punctuation.separator.scope-resolution - source: keyword_while scopes: + - variable.snake-case - variable.other.unknown.keyword_while - source: '}' scopes: @@ -6491,10 +6755,12 @@ - entity.name.function.preprocessor - source: ROCKET_ASSERT scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: std scopes: - entity.name.scope-resolution.function.call @@ -6523,6 +6789,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords scopes: + - variable.snake-case - variable.other.unknown.s_keywords - source: ) scopes: @@ -6545,6 +6812,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords scopes: + - variable.snake-case - variable.other.unknown.s_keywords - source: ) scopes: @@ -6563,6 +6831,8 @@ - punctuation.section.arguments.end.bracket.round.function.call - source: ) - source: ) + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call - source: ; @@ -6577,16 +6847,23 @@ scopesEnd: - keyword.control.directive.endif - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: range + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -6615,6 +6892,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords scopes: + - variable.snake-case - variable.other.unknown.s_keywords - source: ) scopes: @@ -6637,6 +6915,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_keywords scopes: + - variable.snake-case - variable.other.unknown.s_keywords - source: ) scopes: @@ -6674,6 +6953,7 @@ - punctuation.section.arguments.end.bracket.round.function.call - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: @@ -6714,7 +6994,8 @@ - punctuation.section.parens.begin.bracket.round - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -6726,7 +7007,8 @@ - keyword.operator.comparison - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -6763,25 +7045,33 @@ scopesEnd: - meta.block - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: cur + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -6800,6 +7090,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -6855,7 +7146,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -6870,6 +7162,7 @@ - keyword.operator.comparison - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ) scopes: @@ -6922,13 +7215,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -6940,6 +7235,7 @@ - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ) scopes: @@ -6975,7 +7271,8 @@ - comment.line.double-slash - source: Token scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -6986,13 +7283,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: xtoken + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -7000,7 +7302,8 @@ - punctuation.section.block.begin.bracket.curly - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -7011,6 +7314,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -7023,18 +7327,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -7054,6 +7361,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken scopes: + - variable.lower-case - variable.other.unknown.xtoken - source: ) scopesBegin: @@ -7080,7 +7388,8 @@ - meta.block - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -7105,7 +7414,8 @@ - meta.block - source: Token scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -7116,13 +7426,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: xtoken + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -7136,12 +7451,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ) scopes: @@ -7150,6 +7467,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -7162,18 +7480,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -7193,6 +7514,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken scopes: + - variable.lower-case - variable.other.unknown.xtoken - source: ) scopesBegin: @@ -7219,7 +7541,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: do_accept_punctuator @@ -7243,7 +7565,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -7293,7 +7615,7 @@ - storage.type.built-in.primitive - source: s_punct_chars scopes: - - variable.other.assignment + - variable.other.unknown.s_punct_chars - source: '[' scopes: - punctuation.definition.begin.bracket.square.array.type @@ -7318,19 +7640,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -7343,6 +7673,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -7538,7 +7870,8 @@ - punctuation.terminator.statement - source: Token scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -7549,10 +7882,14 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: second scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -7589,6 +7926,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: s_punctuators scopes: + - variable.snake-case - variable.other.assignment - source: '[' scopes: @@ -7632,6 +7970,7 @@ - punctuation.separator.scope-resolution - source: punctuator_notl scopes: + - variable.snake-case - variable.other.unknown.punctuator_notl - source: '}' scopes: @@ -7706,6 +8045,7 @@ - punctuation.separator.scope-resolution - source: punctuator_mod scopes: + - variable.snake-case - variable.other.unknown.punctuator_mod - source: '}' scopes: @@ -7780,6 +8120,7 @@ - punctuation.separator.scope-resolution - source: punctuator_andb scopes: + - variable.snake-case - variable.other.unknown.punctuator_andb - source: '}' scopes: @@ -7817,6 +8158,7 @@ - punctuation.separator.scope-resolution - source: punctuator_andl scopes: + - variable.snake-case - variable.other.unknown.punctuator_andl - source: '}' scopes: @@ -8002,6 +8344,7 @@ - punctuation.separator.scope-resolution - source: punctuator_mul scopes: + - variable.snake-case - variable.other.unknown.punctuator_mul - source: '}' scopes: @@ -8076,6 +8419,7 @@ - punctuation.separator.scope-resolution - source: punctuator_add scopes: + - variable.snake-case - variable.other.unknown.punctuator_add - source: '}' scopes: @@ -8113,6 +8457,7 @@ - punctuation.separator.scope-resolution - source: punctuator_inc scopes: + - variable.snake-case - variable.other.unknown.punctuator_inc - source: '}' scopes: @@ -8187,6 +8532,7 @@ - punctuation.separator.scope-resolution - source: punctuator_comma scopes: + - variable.snake-case - variable.other.unknown.punctuator_comma - source: '}' scopes: @@ -8224,6 +8570,7 @@ - punctuation.separator.scope-resolution - source: punctuator_sub scopes: + - variable.snake-case - variable.other.unknown.punctuator_sub - source: '}' scopes: @@ -8261,6 +8608,7 @@ - punctuation.separator.scope-resolution - source: punctuator_dec scopes: + - variable.snake-case - variable.other.unknown.punctuator_dec - source: '}' scopes: @@ -8335,6 +8683,7 @@ - punctuation.separator.scope-resolution - source: punctuator_dot scopes: + - variable.snake-case - variable.other.unknown.punctuator_dot - source: '}' scopes: @@ -8372,6 +8721,7 @@ - punctuation.separator.scope-resolution - source: punctuator_ellipsis scopes: + - variable.snake-case - variable.other.unknown.punctuator_ellipsis - source: '}' scopes: @@ -8409,6 +8759,7 @@ - punctuation.separator.scope-resolution - source: punctuator_div scopes: + - variable.snake-case - variable.other.unknown.punctuator_div - source: '}' scopes: @@ -8483,6 +8834,7 @@ - punctuation.separator.scope-resolution - source: punctuator_colon scopes: + - variable.snake-case - variable.other.unknown.punctuator_colon - source: '}' scopes: @@ -8520,6 +8872,7 @@ - punctuation.separator.scope-resolution - source: punctuator_semicol scopes: + - variable.snake-case - variable.other.unknown.punctuator_semicol - source: '}' scopes: @@ -8594,6 +8947,7 @@ - punctuation.separator.scope-resolution - source: punctuator_sla scopes: + - variable.snake-case - variable.other.unknown.punctuator_sla - source: '}' scopes: @@ -8631,6 +8985,7 @@ - punctuation.separator.scope-resolution - source: punctuator_sll scopes: + - variable.snake-case - variable.other.unknown.punctuator_sll - source: '}' scopes: @@ -8779,6 +9134,7 @@ - punctuation.separator.scope-resolution - source: punctuator_spaceship scopes: + - variable.snake-case - variable.other.unknown.punctuator_spaceship - source: '}' scopes: @@ -8816,6 +9172,7 @@ - punctuation.separator.scope-resolution - source: punctuator_assign scopes: + - variable.snake-case - variable.other.unknown.punctuator_assign - source: '}' scopes: @@ -8964,6 +9321,7 @@ - punctuation.separator.scope-resolution - source: punctuator_sra scopes: + - variable.snake-case - variable.other.unknown.punctuator_sra - source: '}' scopes: @@ -9038,6 +9396,7 @@ - punctuation.separator.scope-resolution - source: punctuator_srl scopes: + - variable.snake-case - variable.other.unknown.punctuator_srl - source: '}' scopes: @@ -9112,6 +9471,7 @@ - punctuation.separator.scope-resolution - source: punctuator_quest scopes: + - variable.snake-case - variable.other.unknown.punctuator_quest - source: '}' scopes: @@ -9189,6 +9549,7 @@ - punctuation.separator.scope-resolution - source: punctuator_coales scopes: + - variable.snake-case - variable.other.unknown.punctuator_coales - source: '}' scopes: @@ -9341,6 +9702,7 @@ - punctuation.separator.scope-resolution - source: punctuator_xorb scopes: + - variable.snake-case - variable.other.unknown.punctuator_xorb - source: '}' scopes: @@ -9452,6 +9814,7 @@ - punctuation.separator.scope-resolution - source: punctuator_orb scopes: + - variable.snake-case - variable.other.unknown.punctuator_orb - source: '}' scopes: @@ -9526,6 +9889,7 @@ - punctuation.separator.scope-resolution - source: punctuator_orl scopes: + - variable.snake-case - variable.other.unknown.punctuator_orl - source: '}' scopes: @@ -9637,6 +10001,7 @@ - punctuation.separator.scope-resolution - source: punctuator_notb scopes: + - variable.snake-case - variable.other.unknown.punctuator_notb - source: '}' scopes: @@ -9671,10 +10036,12 @@ - entity.name.function.preprocessor - source: ROCKET_ASSERT scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: std scopes: - entity.name.scope-resolution.function.call @@ -9703,6 +10070,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators scopes: + - variable.snake-case - variable.other.unknown.s_punctuators - source: ) scopes: @@ -9725,6 +10093,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators scopes: + - variable.snake-case - variable.other.unknown.s_punctuators - source: ) scopes: @@ -9743,6 +10112,8 @@ - punctuation.section.arguments.end.bracket.round.function.call - source: ) - source: ) + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call - source: ; @@ -9769,16 +10140,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: range + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -9807,6 +10185,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators scopes: + - variable.snake-case - variable.other.unknown.s_punctuators - source: ) scopes: @@ -9829,6 +10208,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_punctuators scopes: + - variable.snake-case - variable.other.unknown.s_punctuators - source: ) scopes: @@ -9866,6 +10246,7 @@ - punctuation.section.arguments.end.bracket.round.function.call - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: @@ -9906,7 +10287,8 @@ - punctuation.section.parens.begin.bracket.round - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -9918,7 +10300,8 @@ - keyword.operator.comparison - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -9947,25 +10330,33 @@ scopesEnd: - meta.block - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: cur + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -9987,21 +10378,29 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: tlen + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -10040,7 +10439,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -10050,6 +10450,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10068,13 +10470,15 @@ - punctuation.section.parens.begin.bracket.round - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: <= scopes: - keyword.operator.comparison - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -10138,13 +10542,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -10156,6 +10562,7 @@ - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ) scopes: @@ -10191,7 +10598,8 @@ - comment.line.double-slash - source: Token scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -10202,13 +10610,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: xtoken + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -10216,7 +10629,8 @@ - punctuation.section.block.begin.bracket.curly - source: cur scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cur - source: . scopes: - punctuation.separator.dot-access @@ -10227,6 +10641,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -10239,18 +10654,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -10270,6 +10688,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken scopes: + - variable.lower-case - variable.other.unknown.xtoken - source: ) scopesBegin: @@ -10296,7 +10715,8 @@ - meta.block - source: range scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.range - source: . scopes: - punctuation.separator.dot-access @@ -10328,10 +10748,12 @@ - comment.line.double-slash - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -10379,6 +10801,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -10389,7 +10812,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: do_accept_string_literal @@ -10413,7 +10836,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -10491,19 +10914,27 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -10516,6 +10947,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10548,6 +10981,7 @@ - keyword.operator.comparison - source: head scopes: + - variable.lower-case - variable.other.unknown.head - source: ) scopes: @@ -10583,7 +11017,8 @@ - comment.line.double-slash - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -10595,26 +11030,39 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: tlen + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: Cow_String + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: value scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -10628,6 +11076,7 @@ - punctuation.section.parens.begin.bracket.round - source: escapable scopes: + - variable.lower-case - variable.other.unknown.escapable - source: ) scopes: @@ -10674,19 +11123,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: qavail + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -10704,7 +11161,10 @@ - keyword.operator.arithmetic - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -10718,6 +11178,7 @@ - punctuation.section.parens.begin.bracket.round - source: qavail scopes: + - variable.lower-case - variable.other.unknown.qavail - source: '==' scopes: @@ -10746,13 +11207,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -10790,16 +11253,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: next + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: bptr scopesBegin: - meta.bracket.square.access @@ -10810,11 +11280,13 @@ - punctuation.definition.begin.bracket.square - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ']' scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -10824,6 +11296,7 @@ - keyword.operator.increment - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ; scopes: @@ -10838,12 +11311,14 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '==' scopes: - keyword.operator.comparison - source: head scopes: + - variable.lower-case - variable.other.unknown.head - source: ) scopes: @@ -10884,6 +11359,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '!=' scopes: @@ -10921,7 +11397,8 @@ - comment.line.double-slash - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -10933,6 +11410,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -10969,6 +11447,7 @@ - punctuation.section.parens.begin.bracket.round - source: qavail scopes: + - variable.lower-case - variable.other.unknown.qavail - source: < scopes: @@ -10997,13 +11476,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -11042,6 +11523,7 @@ - meta.block - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '=' scopes: @@ -11056,6 +11538,7 @@ - punctuation.definition.begin.bracket.square - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ']' scopes: @@ -11070,24 +11553,34 @@ - keyword.operator.increment - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement - source: unsigned + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: xcnt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -11104,6 +11597,7 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -11201,7 +11695,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11213,6 +11708,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -11259,7 +11755,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11327,7 +11824,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11395,7 +11893,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11463,7 +11962,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11531,7 +12031,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11599,7 +12100,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11667,7 +12169,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11735,7 +12238,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11803,7 +12307,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11871,7 +12376,8 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -11939,6 +12445,7 @@ - punctuation.section.block.begin.bracket.curly - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: += scopes: @@ -11998,6 +12505,7 @@ - punctuation.section.block.begin.bracket.curly - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: += scopes: @@ -12057,6 +12565,7 @@ - punctuation.section.block.begin.bracket.curly - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: += scopes: @@ -12089,12 +12598,14 @@ - punctuation.section.parens.begin.bracket.round - source: qavail scopes: + - variable.lower-case - variable.other.unknown.qavail - source: < scopes: - keyword.operator.comparison - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: + scopes: @@ -12123,13 +12634,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -12167,19 +12680,28 @@ scopesEnd: - meta.block - source: char32_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - support.type.posix-reserved - support.type.built-in.posix-reserved - source: cpnt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -12199,30 +12721,35 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: ; scopes: @@ -12232,6 +12759,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -12257,6 +12785,7 @@ - storage.type.built-in.primitive - source: s_digits scopes: + - variable.snake-case - variable.other.assignment - source: '[' scopes: @@ -12282,16 +12811,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -12330,6 +12866,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: @@ -12350,6 +12887,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -12359,6 +12897,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -12375,6 +12915,7 @@ - keyword.operator.logical - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: ) scopes: @@ -12397,12 +12938,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: + scopes: @@ -12435,16 +12978,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dvalue + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -12471,12 +13021,14 @@ - punctuation.section.parens.begin.bracket.round - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ) scopes: @@ -12493,18 +13045,21 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '=' scopes: - keyword.operator.assignment - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '*' scopes: @@ -12517,6 +13072,7 @@ - keyword.operator.arithmetic - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ; scopes: @@ -12536,6 +13092,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '==' scopes: @@ -12571,7 +13128,8 @@ - comment.line.double-slash - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -12602,6 +13160,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -12662,6 +13221,7 @@ - keyword.operator.comparison - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -12678,6 +13238,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -12717,6 +13278,7 @@ - keyword.operator.comparison - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: ) scopes: @@ -12752,18 +13314,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: + scopes: - keyword.operator.arithmetic - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: ',' scopes: @@ -12798,16 +13363,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: encode_one + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -12856,7 +13428,8 @@ - punctuation.section.block.begin.bracket.curly.lambda - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -12895,6 +13468,7 @@ - keyword.operator.bitwise - source: mask scopes: + - variable.lower-case - variable.other.unknown.mask - source: '<<' scopes: @@ -12922,12 +13496,14 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: '>>' scopes: - keyword.operator.bitwise.shift - source: shift scopes: + - variable.lower-case - variable.other.unknown.shift - source: ) scopes: @@ -12939,6 +13515,7 @@ - keyword.operator.bitwise - source: mask scopes: + - variable.lower-case - variable.other.unknown.mask - source: ) scopes: @@ -12960,6 +13537,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -12974,6 +13552,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -13039,6 +13618,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -13128,6 +13708,7 @@ - punctuation.section.parens.begin.bracket.round - source: cpnt scopes: + - variable.lower-case - variable.other.unknown.cpnt - source: < scopes: @@ -13359,12 +13940,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -13393,12 +13976,14 @@ - meta.body.switch - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: += scopes: - keyword.operator.assignment.compound - source: xcnt scopes: + - variable.lower-case - variable.other.unknown.xcnt - source: ; scopes: @@ -13430,16 +14015,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: tptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -13478,6 +14070,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: + scopes: @@ -13490,7 +14083,8 @@ - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -13514,10 +14108,13 @@ - punctuation.separator.delimiter.comma - source: head scopes: + - variable.lower-case - variable.other.unknown.head - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13534,6 +14131,7 @@ - keyword.operator.logical - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: ) scopes: @@ -13556,13 +14154,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -13604,13 +14204,15 @@ - keyword.operator.increment - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: ; scopes: - punctuation.terminator.statement - source: value scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.value - source: . scopes: - punctuation.separator.dot-access @@ -13622,6 +14224,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: + scopes: @@ -13634,6 +14237,7 @@ - punctuation.separator.delimiter.comma - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '-' scopes: @@ -13649,6 +14253,7 @@ - punctuation.terminator.statement - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: '=' scopes: @@ -13681,12 +14286,14 @@ - punctuation.section.parens.begin.bracket.round - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ) scopes: @@ -13703,7 +14310,8 @@ - meta.block - source: Token scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -13714,13 +14322,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: xtoken + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -13741,6 +14354,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ) scopes: @@ -13749,6 +14363,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -13761,18 +14376,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -13792,6 +14410,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken scopes: + - variable.lower-case - variable.other.unknown.xtoken - source: ) scopesBegin: @@ -13818,7 +14437,7 @@ - meta.body.function.definition - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -13844,7 +14463,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -13895,7 +14514,8 @@ - punctuation.section.parens.begin.bracket.round - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -13941,16 +14561,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: qstok + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -13966,7 +14593,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -13982,6 +14610,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13995,7 +14625,8 @@ - punctuation.section.parens.begin.bracket.round - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -14013,7 +14644,8 @@ - keyword.operator.comparison - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -14068,7 +14700,8 @@ - punctuation.section.parens.begin.bracket.round - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -14086,7 +14719,8 @@ - keyword.operator.arithmetic - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -14104,7 +14738,8 @@ - keyword.operator.comparison - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -14159,7 +14794,8 @@ - punctuation.section.parens.begin.bracket.round - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -14184,6 +14820,7 @@ - punctuation.separator.scope-resolution - source: index_punctuator scopes: + - variable.snake-case - variable.other.unknown.index_punctuator - source: ) scopes: @@ -14240,7 +14877,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -14259,6 +14897,7 @@ - punctuation.separator.scope-resolution - source: S_punctuator scopes: + - variable.snake-case - variable.other.unknown.S_punctuator - source: '>' scopes: @@ -14292,6 +14931,7 @@ - punctuation.separator.scope-resolution - source: punctuator_add scopes: + - variable.snake-case - variable.other.unknown.punctuator_add - source: ',' scopes: @@ -14305,6 +14945,7 @@ - punctuation.separator.scope-resolution - source: punctuator_sub scopes: + - variable.snake-case - variable.other.unknown.punctuator_sub - source: ' }' - source: ) @@ -14352,7 +14993,8 @@ - punctuation.section.parens.begin.bracket.round - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -14390,25 +15032,33 @@ scopesEnd: - comment.line.double-slash - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: pt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -14433,6 +15083,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -14450,7 +15101,8 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: pt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.pt - source: . scopes: - punctuation.separator.dot-access @@ -14488,6 +15140,7 @@ - punctuation.separator.scope-resolution - source: index_keyword scopes: + - variable.snake-case - variable.other.unknown.index_keyword - source: ':' scopes: @@ -14500,25 +15153,33 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: alt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: pt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.pt - source: . scopes: - punctuation.separator.dot-access @@ -14537,6 +15198,7 @@ - punctuation.separator.scope-resolution - source: S_keyword scopes: + - variable.snake-case - variable.other.unknown.S_keyword - source: '>' scopes: @@ -14550,6 +15212,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -14563,16 +15226,23 @@ scopesEnd: - comment.line.double-slash - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: mergeable + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: rocket scopes: - entity.name.scope-resolution @@ -14588,7 +15258,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -14608,6 +15279,7 @@ - punctuation.separator.scope-resolution - source: keyword_null scopes: + - variable.snake-case - variable.other.unknown.keyword_null - source: ',' scopes: @@ -14621,6 +15293,7 @@ - punctuation.separator.scope-resolution - source: keyword_true scopes: + - variable.snake-case - variable.other.unknown.keyword_true - source: ',' scopes: @@ -14634,6 +15307,7 @@ - punctuation.separator.scope-resolution - source: keyword_false scopes: + - variable.snake-case - variable.other.unknown.keyword_false - source: ',' scopes: @@ -14647,6 +15321,7 @@ - punctuation.separator.scope-resolution - source: keyword_nan scopes: + - variable.snake-case - variable.other.unknown.keyword_nan - source: ',' scopes: @@ -14660,6 +15335,7 @@ - punctuation.separator.scope-resolution - source: keyword_infinity scopes: + - variable.snake-case - variable.other.unknown.keyword_infinity - source: ',' scopes: @@ -14673,11 +15349,14 @@ - punctuation.separator.scope-resolution - source: keyword_this scopes: + - variable.snake-case - variable.other.unknown.keyword_this - source: ' }' - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14694,6 +15373,7 @@ - keyword.operator.logical - source: mergeable scopes: + - variable.lower-case - variable.other.unknown.mergeable - source: ) scopes: @@ -14744,6 +15424,7 @@ - punctuation.separator.scope-resolution - source: index_punctuator scopes: + - variable.snake-case - variable.other.unknown.index_punctuator - source: ':' scopes: @@ -14756,25 +15437,33 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: alt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: pt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.pt - source: . scopes: - punctuation.separator.dot-access @@ -14793,6 +15482,7 @@ - punctuation.separator.scope-resolution - source: S_punctuator scopes: + - variable.snake-case - variable.other.unknown.S_punctuator - source: '>' scopes: @@ -14806,6 +15496,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -14819,16 +15510,23 @@ scopesEnd: - comment.line.double-slash - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: mergeable + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: rocket scopes: - entity.name.scope-resolution @@ -14844,7 +15542,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -14864,6 +15563,7 @@ - punctuation.separator.scope-resolution - source: punctuator_inc scopes: + - variable.snake-case - variable.other.unknown.punctuator_inc - source: ',' scopes: @@ -14877,6 +15577,7 @@ - punctuation.separator.scope-resolution - source: punctuator_dec scopes: + - variable.snake-case - variable.other.unknown.punctuator_dec - source: ',' scopes: @@ -14921,6 +15622,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -14937,6 +15640,7 @@ - keyword.operator.logical - source: mergeable scopes: + - variable.lower-case - variable.other.unknown.mergeable - source: ) scopes: @@ -14987,6 +15691,7 @@ - punctuation.separator.scope-resolution - source: index_identifier scopes: + - variable.snake-case - variable.other.unknown.index_identifier - source: ':' scopes: @@ -15080,10 +15785,12 @@ - meta.conditional.case - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -15100,7 +15807,8 @@ - punctuation.separator.delimiter.comma - source: pt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.pt - source: . scopes: - punctuation.separator.dot-access @@ -15130,6 +15838,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -15157,6 +15866,7 @@ - keyword.control.return - source: qstok scopes: + - variable.lower-case - variable.other.unknown.qstok - source: ; scopes: @@ -15168,7 +15878,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: do_accept_numeric_literal @@ -15192,7 +15902,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -15311,6 +16021,7 @@ - storage.type.built-in.primitive - source: s_digits scopes: + - variable.snake-case - variable.other.assignment - source: '[' scopes: @@ -15336,19 +16047,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -15361,6 +16080,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15410,6 +16131,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: @@ -15470,25 +16192,34 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: eptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -15501,6 +16232,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15529,25 +16262,35 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: radix + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '10' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -15559,13 +16302,18 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: int_begin + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal @@ -15574,6 +16322,7 @@ - punctuation.separator.delimiter.comma - source: int_end scopes: + - variable.snake-case - variable.other.unknown.int_end - source: '=' scopes: @@ -15581,12 +16330,15 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -15598,13 +16350,18 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: frac_begin + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal @@ -15613,6 +16370,7 @@ - punctuation.separator.delimiter.comma - source: frac_end scopes: + - variable.snake-case - variable.other.unknown.frac_end - source: '=' scopes: @@ -15620,46 +16378,67 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: exp_base + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: exp_sign + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -15671,13 +16450,18 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: exp_begin + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal @@ -15686,6 +16470,7 @@ - punctuation.separator.delimiter.comma - source: exp_end scopes: + - variable.snake-case - variable.other.unknown.exp_end - source: '=' scopes: @@ -15693,6 +16478,8 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15722,6 +16509,7 @@ - punctuation.definition.begin.bracket.square - source: int_begin scopes: + - variable.snake-case - variable.other.unknown.int_begin - source: ']' scopes: @@ -15753,16 +16541,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: next + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: bptr scopesBegin: - meta.bracket.square.access @@ -15773,6 +16568,7 @@ - punctuation.definition.begin.bracket.square - source: int_begin scopes: + - variable.snake-case - variable.other.unknown.int_begin - source: + scopes: @@ -15784,6 +16580,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -15801,6 +16598,7 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -15853,6 +16651,7 @@ - meta.conditional.case - source: radix scopes: + - variable.lower-case - variable.other.unknown.radix - source: '=' scopes: @@ -15865,6 +16664,7 @@ - punctuation.terminator.statement - source: int_begin scopes: + - variable.snake-case - variable.other.unknown.int_begin - source: += scopes: @@ -15921,6 +16721,7 @@ - meta.conditional.case - source: radix scopes: + - variable.lower-case - variable.other.unknown.radix - source: '=' scopes: @@ -15933,6 +16734,7 @@ - punctuation.terminator.statement - source: int_begin scopes: + - variable.snake-case - variable.other.unknown.int_begin - source: += scopes: @@ -15961,16 +16763,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: max_digits + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -15999,6 +16808,7 @@ - punctuation.section.parens.begin.bracket.round - source: radix scopes: + - variable.lower-case - variable.other.unknown.radix - source: '*' scopes: @@ -16010,6 +16820,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -16023,16 +16834,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: tptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -16048,18 +16866,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic - source: int_begin scopes: + - variable.snake-case - variable.other.unknown.int_begin - source: ',' scopes: - punctuation.separator.delimiter.comma - source: eptr scopes: + - variable.lower-case - variable.other.unknown.eptr - source: ',' scopes: @@ -16110,6 +16931,7 @@ - punctuation.section.parens.begin.bracket.round - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: '==' scopes: @@ -16171,18 +16993,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma - source: max_digits scopes: + - variable.snake-case - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -16198,11 +17023,14 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int_end scopes: + - variable.snake-case - variable.other.unknown.int_end - source: '=' scopes: @@ -16235,12 +17063,14 @@ - punctuation.section.parens.begin.bracket.round - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ) scopes: @@ -16260,12 +17090,14 @@ - punctuation.section.parens.begin.bracket.round - source: int_end scopes: + - variable.snake-case - variable.other.unknown.int_end - source: '==' scopes: - keyword.operator.comparison - source: int_begin scopes: + - variable.snake-case - variable.other.unknown.int_begin - source: ) scopes: @@ -16288,12 +17120,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: int_end scopes: + - variable.snake-case - variable.other.unknown.int_end - source: ',' scopes: @@ -16329,39 +17163,50 @@ - comment.line.double-slash - source: frac_begin scopes: + - variable.snake-case - variable.other.unknown.frac_begin - source: '=' scopes: - keyword.operator.assignment - source: int_end scopes: + - variable.snake-case - variable.other.unknown.int_end - source: ; scopes: - punctuation.terminator.statement - source: frac_end scopes: + - variable.snake-case - variable.other.unknown.frac_end - source: '=' scopes: - keyword.operator.assignment - source: frac_begin scopes: + - variable.snake-case - variable.other.unknown.frac_begin - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: next + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: bptr scopesBegin: - meta.bracket.square.access @@ -16372,11 +17217,13 @@ - punctuation.definition.begin.bracket.square - source: int_end scopes: + - variable.snake-case - variable.other.unknown.int_end - source: ']' scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -16391,6 +17238,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '==' scopes: @@ -16421,12 +17269,14 @@ - keyword.operator.increment - source: frac_begin scopes: + - variable.snake-case - variable.other.unknown.frac_begin - source: ; scopes: - punctuation.terminator.statement - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '=' scopes: @@ -16446,18 +17296,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic - source: frac_begin scopes: + - variable.snake-case - variable.other.unknown.frac_begin - source: ',' scopes: - punctuation.separator.delimiter.comma - source: eptr scopes: + - variable.lower-case - variable.other.unknown.eptr - source: ',' scopes: @@ -16508,6 +17361,7 @@ - punctuation.section.parens.begin.bracket.round - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: '==' scopes: @@ -16569,18 +17423,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma - source: max_digits scopes: + - variable.snake-case - variable.other.unknown.max_digits - source: ',' scopes: - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -16601,6 +17458,7 @@ - punctuation.terminator.statement - source: frac_end scopes: + - variable.snake-case - variable.other.unknown.frac_end - source: '=' scopes: @@ -16633,12 +17491,14 @@ - punctuation.section.parens.begin.bracket.round - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ) scopes: @@ -16658,12 +17518,14 @@ - punctuation.section.parens.begin.bracket.round - source: frac_end scopes: + - variable.snake-case - variable.other.unknown.frac_end - source: '==' scopes: - keyword.operator.comparison - source: frac_begin scopes: + - variable.snake-case - variable.other.unknown.frac_begin - source: ) scopes: @@ -16686,12 +17548,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: frac_end scopes: + - variable.snake-case - variable.other.unknown.frac_end - source: ',' scopes: @@ -16732,30 +17596,35 @@ - comment.line.double-slash - source: exp_begin scopes: + - variable.snake-case - variable.other.unknown.exp_begin - source: '=' scopes: - keyword.operator.assignment - source: frac_end scopes: + - variable.snake-case - variable.other.unknown.frac_end - source: ; scopes: - punctuation.terminator.statement - source: exp_end scopes: + - variable.snake-case - variable.other.unknown.exp_end - source: '=' scopes: - keyword.operator.assignment - source: exp_begin scopes: + - variable.snake-case - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '=' scopes: @@ -16770,6 +17639,7 @@ - punctuation.definition.begin.bracket.square - source: frac_end scopes: + - variable.snake-case - variable.other.unknown.frac_end - source: ']' scopes: @@ -16792,6 +17662,7 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -16844,6 +17715,7 @@ - meta.conditional.case - source: exp_base scopes: + - variable.snake-case - variable.other.unknown.exp_base - source: '=' scopes: @@ -16859,6 +17731,7 @@ - keyword.operator.increment - source: exp_begin scopes: + - variable.snake-case - variable.other.unknown.exp_begin - source: ; scopes: @@ -16909,6 +17782,7 @@ - meta.conditional.case - source: exp_base scopes: + - variable.snake-case - variable.other.unknown.exp_base - source: '=' scopes: @@ -16924,6 +17798,7 @@ - keyword.operator.increment - source: exp_begin scopes: + - variable.snake-case - variable.other.unknown.exp_begin - source: ; scopes: @@ -16950,6 +17825,7 @@ - punctuation.section.parens.begin.bracket.round - source: exp_base scopes: + - variable.snake-case - variable.other.unknown.exp_base - source: '!=' scopes: @@ -16969,6 +17845,7 @@ - punctuation.section.block.begin.bracket.curly - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '=' scopes: @@ -16983,6 +17860,7 @@ - punctuation.definition.begin.bracket.square - source: exp_begin scopes: + - variable.snake-case - variable.other.unknown.exp_begin - source: ']' scopes: @@ -17005,6 +17883,7 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: ) scopes: @@ -17040,6 +17919,7 @@ - meta.conditional.case - source: exp_sign scopes: + - variable.snake-case - variable.other.unknown.exp_sign - source: '=' scopes: @@ -17055,6 +17935,7 @@ - keyword.operator.increment - source: exp_begin scopes: + - variable.snake-case - variable.other.unknown.exp_begin - source: ; scopes: @@ -17088,6 +17969,7 @@ - meta.conditional.case - source: exp_sign scopes: + - variable.snake-case - variable.other.unknown.exp_sign - source: '=' scopes: @@ -17103,6 +17985,7 @@ - keyword.operator.increment - source: exp_begin scopes: + - variable.snake-case - variable.other.unknown.exp_begin - source: ; scopes: @@ -17121,6 +18004,7 @@ - meta.body.switch - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '=' scopes: @@ -17140,18 +18024,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic - source: exp_begin scopes: + - variable.snake-case - variable.other.unknown.exp_begin - source: ',' scopes: - punctuation.separator.delimiter.comma - source: eptr scopes: + - variable.lower-case - variable.other.unknown.eptr - source: ',' scopes: @@ -17202,6 +18089,7 @@ - punctuation.section.parens.begin.bracket.round - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: '==' scopes: @@ -17263,6 +18151,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: @@ -17275,6 +18164,7 @@ - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -17295,6 +18185,7 @@ - punctuation.terminator.statement - source: exp_end scopes: + - variable.snake-case - variable.other.unknown.exp_end - source: '=' scopes: @@ -17327,12 +18218,14 @@ - punctuation.section.parens.begin.bracket.round - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ) scopes: @@ -17352,12 +18245,14 @@ - punctuation.section.parens.begin.bracket.round - source: exp_end scopes: + - variable.snake-case - variable.other.unknown.exp_end - source: '==' scopes: - keyword.operator.comparison - source: exp_begin scopes: + - variable.snake-case - variable.other.unknown.exp_begin - source: ) scopes: @@ -17380,12 +18275,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: exp_end scopes: + - variable.snake-case - variable.other.unknown.exp_end - source: ',' scopes: @@ -17440,7 +18337,7 @@ - storage.type.built-in.primitive - source: s_suffix_chars scopes: - - variable.other.assignment + - variable.other.unknown.s_suffix_chars - source: '[' scopes: - punctuation.definition.begin.bracket.square.array.type @@ -17466,6 +18363,7 @@ - punctuation.terminator.statement - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '=' scopes: @@ -17485,18 +18383,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic - source: exp_end scopes: + - variable.snake-case - variable.other.unknown.exp_end - source: ',' scopes: - punctuation.separator.delimiter.comma - source: eptr scopes: + - variable.lower-case - variable.other.unknown.eptr - source: ',' scopes: @@ -17590,6 +18491,7 @@ - punctuation.separator.delimiter.comma - source: ch scopes: + - variable.lower-case - variable.other.unknown.ch - source: ) scopes: @@ -17609,16 +18511,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: tlen + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -17647,17 +18556,20 @@ - punctuation.section.parens.begin.bracket.round - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -17672,12 +18584,14 @@ - punctuation.section.parens.begin.bracket.round - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: '!=' scopes: - keyword.operator.comparison - source: exp_end scopes: + - variable.snake-case - variable.other.unknown.exp_end - source: ) scopes: @@ -17700,12 +18614,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -17740,19 +18656,28 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: exp + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -17772,24 +18697,28 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: exp_begin scopes: + - variable.snake-case - variable.other.unknown.exp_begin - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison - source: exp_end scopes: + - variable.snake-case - variable.other.unknown.exp_end - source: ; scopes: @@ -17799,6 +18728,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -17813,16 +18743,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -17861,6 +18798,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: @@ -17881,6 +18819,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -17890,6 +18829,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -17906,6 +18847,7 @@ - keyword.operator.logical - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: ) scopes: @@ -17929,16 +18871,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dvalue + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -17965,12 +18914,14 @@ - punctuation.section.parens.begin.bracket.round - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ) scopes: @@ -17987,21 +18938,29 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bound + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -18009,12 +18968,14 @@ - punctuation.section.parens.begin.bracket.round - source: INT_MAX scopes: + - variable.snake-case - variable.other.unknown.INT_MAX - source: '-' scopes: - keyword.operator.arithmetic - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ) scopes: @@ -18027,6 +18988,8 @@ - source: '10' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -18040,12 +19003,14 @@ - punctuation.section.parens.begin.bracket.round - source: exp scopes: + - variable.lower-case - variable.other.unknown.exp - source: '>' scopes: - keyword.operator.comparison - source: bound scopes: + - variable.lower-case - variable.other.unknown.bound - source: ) scopes: @@ -18068,12 +19033,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -18101,12 +19068,14 @@ - meta.block - source: exp scopes: + - variable.lower-case - variable.other.unknown.exp - source: '=' scopes: - keyword.operator.assignment - source: exp scopes: + - variable.lower-case - variable.other.unknown.exp - source: '*' scopes: @@ -18119,6 +19088,7 @@ - keyword.operator.arithmetic - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ; scopes: @@ -18138,6 +19108,7 @@ - punctuation.section.parens.begin.bracket.round - source: exp_sign scopes: + - variable.snake-case - variable.other.unknown.exp_sign - source: ) scopes: @@ -18151,6 +19122,7 @@ - punctuation.section.block.begin.bracket.curly - source: exp scopes: + - variable.lower-case - variable.other.unknown.exp - source: '=' scopes: @@ -18160,6 +19132,7 @@ - keyword.operator.arithmetic - source: exp scopes: + - variable.lower-case - variable.other.unknown.exp - source: ; scopes: @@ -18201,12 +19174,14 @@ - punctuation.section.parens.begin.bracket.round - source: frac_begin scopes: + - variable.snake-case - variable.other.unknown.frac_begin - source: '==' scopes: - keyword.operator.comparison - source: int_end scopes: + - variable.snake-case - variable.other.unknown.int_end - source: ) scopes: @@ -18245,6 +19220,7 @@ - punctuation.section.parens.begin.bracket.round - source: exp scopes: + - variable.lower-case - variable.other.unknown.exp - source: < scopes: @@ -18273,12 +19249,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -18314,7 +19292,8 @@ - comment.line.double-slash - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -18326,16 +19305,23 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: value + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -18355,24 +19341,28 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: int_begin scopes: + - variable.snake-case - variable.other.unknown.int_begin - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison - source: int_end scopes: + - variable.snake-case - variable.other.unknown.int_end - source: ; scopes: @@ -18382,6 +19372,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -18396,16 +19387,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -18444,12 +19442,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma - source: max_digits scopes: + - variable.snake-case - variable.other.unknown.max_digits - source: ',' scopes: @@ -18464,6 +19464,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -18473,6 +19474,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -18489,6 +19492,7 @@ - keyword.operator.logical - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: ) scopes: @@ -18512,16 +19516,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dvalue + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -18555,12 +19566,14 @@ - punctuation.section.parens.begin.bracket.round - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ) scopes: @@ -18577,13 +19590,15 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -18595,13 +19610,18 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: bound + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -18614,16 +19634,19 @@ - punctuation.section.parens.begin.bracket.round - source: UINT64_C scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '1' scopes: - constant.numeric.decimal - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -18640,6 +19663,7 @@ - keyword.operator.arithmetic - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ) scopes: @@ -18670,11 +19694,13 @@ - punctuation.section.parens.begin.bracket.round - source: radix scopes: + - variable.lower-case - variable.other.unknown.radix - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -18689,12 +19715,14 @@ - punctuation.section.parens.begin.bracket.round - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '>' scopes: - keyword.operator.comparison - source: bound scopes: + - variable.lower-case - variable.other.unknown.bound - source: ) scopes: @@ -18717,12 +19745,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -18750,12 +19780,14 @@ - meta.block - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '*' scopes: @@ -18781,6 +19813,7 @@ - punctuation.section.parens.begin.bracket.round - source: radix scopes: + - variable.lower-case - variable.other.unknown.radix - source: ) scopes: @@ -18792,6 +19825,7 @@ - keyword.operator.arithmetic - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ; scopes: @@ -18819,6 +19853,7 @@ - punctuation.section.parens.begin.bracket.round - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '!=' scopes: @@ -18852,6 +19887,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -18864,12 +19900,14 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: exp scopes: + - variable.lower-case - variable.other.unknown.exp - source: ; scopes: @@ -18879,6 +19917,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -18894,7 +19933,8 @@ - punctuation.section.block.begin.bracket.curly - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -18906,13 +19946,18 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: bound + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -18920,16 +19965,19 @@ - punctuation.section.parens.begin.bracket.round - source: UINT64_C scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '1' scopes: - constant.numeric.decimal - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -18965,11 +20013,13 @@ - punctuation.section.parens.begin.bracket.round - source: exp_base scopes: + - variable.snake-case - variable.other.unknown.exp_base - source: ) scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -18984,12 +20034,14 @@ - punctuation.section.parens.begin.bracket.round - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '>' scopes: - keyword.operator.comparison - source: bound scopes: + - variable.lower-case - variable.other.unknown.bound - source: ) scopes: @@ -19012,12 +20064,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -19045,6 +20099,7 @@ - meta.block - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '*=' scopes: @@ -19070,6 +20125,7 @@ - punctuation.section.parens.begin.bracket.round - source: exp_base scopes: + - variable.snake-case - variable.other.unknown.exp_base - source: ) scopes: @@ -19098,16 +20154,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: qstok + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: do_check_mergeability scopes: - entity.name.function.call @@ -19116,22 +20179,27 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -19143,13 +20211,18 @@ - storage.type - storage.type.built-in scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: smask + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -19157,13 +20230,15 @@ - punctuation.section.parens.begin.bracket.round - source: qstok scopes: + - variable.lower-case - variable.other.unknown.qstok - source: '&&' scopes: - keyword.operator.logical - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -19182,6 +20257,7 @@ - punctuation.separator.scope-resolution - source: S_punctuator scopes: + - variable.snake-case - variable.other.unknown.S_punctuator - source: '>' scopes: @@ -19214,6 +20290,7 @@ - punctuation.separator.scope-resolution - source: punctuator_sub scopes: + - variable.snake-case - variable.other.unknown.punctuator_sub - source: ) scopes: @@ -19225,6 +20302,7 @@ - keyword.operator.ternary - source: UINT64_MAX scopes: + - variable.snake-case - variable.other.unknown.UINT64_MAX - source: ':' scopes: @@ -19232,6 +20310,8 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -19258,6 +20338,7 @@ - punctuation.section.parens.begin.bracket.round - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '==' scopes: @@ -19269,16 +20350,19 @@ - punctuation.section.parens.begin.bracket.round - source: UINT64_C scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '1' scopes: - constant.numeric.decimal - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '<<' scopes: - keyword.operator.bitwise.shift @@ -19305,6 +20389,7 @@ - punctuation.section.parens.begin.bracket.round - source: smask scopes: + - variable.lower-case - variable.other.unknown.smask - source: '==' scopes: @@ -19338,12 +20423,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -19379,6 +20466,7 @@ - punctuation.section.parens.begin.bracket.round - source: qstok scopes: + - variable.lower-case - variable.other.unknown.qstok - source: ) scopes: @@ -19400,13 +20488,15 @@ - comment.line.double-slash - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: += scopes: - keyword.operator.assignment.compound - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -19424,7 +20514,8 @@ - keyword.operator.arithmetic - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -19442,7 +20533,8 @@ - punctuation.terminator.statement - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -19454,7 +20546,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -19475,6 +20568,7 @@ - punctuation.terminator.statement - source: qstok scopes: + - variable.lower-case - variable.other.unknown.qstok - source: '=' scopes: @@ -19487,7 +20581,8 @@ - punctuation.terminator.statement - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -19518,7 +20613,8 @@ - comment.line.double-slash - source: Token scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -19529,13 +20625,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: xtoken + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -19574,12 +20675,14 @@ - punctuation.section.parens.begin.bracket.round - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ^ scopes: - keyword.operator.bitwise - source: smask scopes: + - variable.lower-case - variable.other.unknown.smask - source: ) scopes: @@ -19591,6 +20694,7 @@ - keyword.operator.arithmetic - source: smask scopes: + - variable.lower-case - variable.other.unknown.smask - source: ) scopes: @@ -19601,6 +20705,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -19613,18 +20718,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -19644,6 +20752,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken scopes: + - variable.lower-case - variable.other.unknown.xtoken - source: ) scopesBegin: @@ -19681,36 +20790,54 @@ scopesEnd: - comment.line.double-slash - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: value + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: zero + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -19730,24 +20857,28 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: int_begin scopes: + - variable.snake-case - variable.other.unknown.int_begin - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison - source: int_end scopes: + - variable.snake-case - variable.other.unknown.int_end - source: ; scopes: @@ -19757,6 +20888,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -19771,16 +20903,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -19819,12 +20958,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma - source: max_digits scopes: + - variable.snake-case - variable.other.unknown.max_digits - source: ',' scopes: @@ -19839,6 +20980,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -19848,6 +20990,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -19864,6 +21008,7 @@ - keyword.operator.logical - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: ) scopes: @@ -19887,16 +21032,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dvalue + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -19923,12 +21075,14 @@ - punctuation.section.parens.begin.bracket.round - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ) scopes: @@ -19945,36 +21099,42 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '*' scopes: - keyword.operator.arithmetic - source: radix scopes: + - variable.lower-case - variable.other.unknown.radix - source: + scopes: - keyword.operator.arithmetic - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ; scopes: - punctuation.terminator.statement - source: zero scopes: + - variable.lower-case - variable.other.unknown.zero - source: '|' scopes: @@ -19984,6 +21144,7 @@ - keyword.operator.assignment - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ; scopes: @@ -20002,19 +21163,28 @@ scopesEnd: - comment.line.double-slash - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: frac + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -20034,12 +21204,14 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: frac_end scopes: + - variable.snake-case - variable.other.unknown.frac_end - source: '-' scopes: @@ -20052,6 +21224,7 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: + scopes: @@ -20064,6 +21237,7 @@ - keyword.operator.comparison - source: frac_begin scopes: + - variable.snake-case - variable.other.unknown.frac_begin - source: ; scopes: @@ -20073,6 +21247,7 @@ - keyword.operator.decrement - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -20087,16 +21262,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -20135,12 +21317,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ',' scopes: - punctuation.separator.delimiter.comma - source: max_digits scopes: + - variable.snake-case - variable.other.unknown.max_digits - source: ',' scopes: @@ -20155,6 +21339,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -20164,6 +21349,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -20180,6 +21367,7 @@ - keyword.operator.logical - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: ) scopes: @@ -20203,16 +21391,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dvalue + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: static_cast scopes: - keyword.operator.wordlike @@ -20239,12 +21434,14 @@ - punctuation.section.parens.begin.bracket.round - source: dptr scopes: + - variable.lower-case - variable.other.unknown.dptr - source: '-' scopes: - keyword.operator.arithmetic - source: s_digits scopes: + - variable.snake-case - variable.other.unknown.s_digits - source: ) scopes: @@ -20261,12 +21458,14 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: frac scopes: + - variable.lower-case - variable.other.unknown.frac - source: '=' scopes: @@ -20278,12 +21477,14 @@ - punctuation.section.parens.begin.bracket.round - source: frac scopes: + - variable.lower-case - variable.other.unknown.frac - source: + scopes: - keyword.operator.arithmetic - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ) scopes: @@ -20295,12 +21496,14 @@ - keyword.operator.arithmetic - source: radix scopes: + - variable.lower-case - variable.other.unknown.radix - source: ; scopes: - punctuation.terminator.statement - source: zero scopes: + - variable.lower-case - variable.other.unknown.zero - source: '|' scopes: @@ -20310,6 +21513,7 @@ - keyword.operator.assignment - source: dvalue scopes: + - variable.lower-case - variable.other.unknown.dvalue - source: ; scopes: @@ -20321,12 +21525,14 @@ - meta.block - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: += scopes: - keyword.operator.assignment.compound - source: frac scopes: + - variable.lower-case - variable.other.unknown.frac - source: ; scopes: @@ -20349,12 +21555,14 @@ - punctuation.section.parens.begin.bracket.round - source: exp_base scopes: + - variable.snake-case - variable.other.unknown.exp_base - source: '==' scopes: - keyword.operator.comparison - source: FLT_RADIX scopes: + - variable.snake-case - variable.other.unknown.FLT_RADIX - source: ) scopes: @@ -20368,6 +21576,7 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '=' scopes: @@ -20387,12 +21596,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma - source: exp scopes: + - variable.lower-case - variable.other.unknown.exp - source: ) scopes: @@ -20439,6 +21650,7 @@ - punctuation.section.parens.begin.bracket.round - source: exp_base scopes: + - variable.snake-case - variable.other.unknown.exp_base - source: '==' scopes: @@ -20458,6 +21670,7 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '=' scopes: @@ -20477,12 +21690,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma - source: exp scopes: + - variable.lower-case - variable.other.unknown.exp - source: ) scopes: @@ -20513,12 +21728,14 @@ - punctuation.section.block.begin.bracket.curly - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '=' scopes: - keyword.operator.assignment - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '*' scopes: @@ -20538,12 +21755,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: exp_base scopes: + - variable.snake-case - variable.other.unknown.exp_base - source: ',' scopes: - punctuation.separator.delimiter.comma - source: exp scopes: + - variable.lower-case - variable.other.unknown.exp - source: ) scopes: @@ -20565,16 +21784,23 @@ scopesEnd: - comment.line.double-slash - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: fpc + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -20590,10 +21816,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -20607,12 +21836,14 @@ - punctuation.section.parens.begin.bracket.round - source: fpc scopes: + - variable.lower-case - variable.other.unknown.fpc - source: '==' scopes: - keyword.operator.comparison - source: FP_INFINITE scopes: + - variable.snake-case - variable.other.unknown.FP_INFINITE - source: ) scopes: @@ -20635,12 +21866,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -20681,12 +21914,14 @@ - punctuation.section.parens.begin.bracket.round - source: fpc scopes: + - variable.lower-case - variable.other.unknown.fpc - source: '==' scopes: - keyword.operator.comparison - source: FP_ZERO scopes: + - variable.snake-case - variable.other.unknown.FP_ZERO - source: ) scopes: @@ -20701,6 +21936,7 @@ - keyword.operator.logical - source: zero scopes: + - variable.lower-case - variable.other.unknown.zero - source: ) scopes: @@ -20723,12 +21959,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -20763,16 +22001,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: qstok + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: do_check_mergeability scopes: - entity.name.function.call @@ -20781,30 +22026,41 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: double + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: fmask + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -20812,13 +22068,15 @@ - punctuation.section.parens.begin.bracket.round - source: qstok scopes: + - variable.lower-case - variable.other.unknown.qstok - source: '&&' scopes: - keyword.operator.logical - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -20837,6 +22095,7 @@ - punctuation.separator.scope-resolution - source: S_punctuator scopes: + - variable.snake-case - variable.other.unknown.S_punctuator - source: '>' scopes: @@ -20869,6 +22128,7 @@ - punctuation.separator.scope-resolution - source: punctuator_sub scopes: + - variable.snake-case - variable.other.unknown.punctuator_sub - source: ) scopes: @@ -20890,6 +22150,8 @@ - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -20903,6 +22165,7 @@ - punctuation.section.parens.begin.bracket.round - source: qstok scopes: + - variable.lower-case - variable.other.unknown.qstok - source: ) scopes: @@ -20924,13 +22187,15 @@ - comment.line.double-slash - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: += scopes: - keyword.operator.assignment.compound - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20948,7 +22213,8 @@ - keyword.operator.arithmetic - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -20966,7 +22232,8 @@ - punctuation.terminator.statement - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -20978,7 +22245,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: qstok scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.qstok - source: '->' scopes: - punctuation.separator.pointer-access @@ -20999,6 +22267,7 @@ - punctuation.terminator.statement - source: qstok scopes: + - variable.lower-case - variable.other.unknown.qstok - source: '=' scopes: @@ -21011,7 +22280,8 @@ - punctuation.terminator.statement - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -21042,7 +22312,8 @@ - comment.line.double-slash - source: Token scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -21053,13 +22324,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: xtoken + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '{' scopesBegin: - meta.block @@ -21080,12 +22356,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ',' scopes: - punctuation.separator.delimiter.comma - source: fmask scopes: + - variable.lower-case - variable.other.unknown.fmask - source: ) scopes: @@ -21094,6 +22372,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.assignment - meta.block - source: ; scopes: @@ -21106,18 +22385,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: tlen scopes: + - variable.lower-case - variable.other.unknown.tlen - source: ',' scopes: @@ -21137,6 +22419,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: xtoken scopes: + - variable.lower-case - variable.other.unknown.xtoken - source: ) scopesBegin: @@ -21180,7 +22463,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Token_Stream @@ -21302,7 +22585,8 @@ - comment.line.double-slash - source: Cow_Vector scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.type - source: < @@ -21312,17 +22596,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: seq scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -21335,12 +22623,18 @@ scopesEnd: - comment.line.double-slash - source: Tack + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: bcomm scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -21354,7 +22648,7 @@ - comment.line.double-slash - source: Line_Reader scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: reader scopes: @@ -21364,12 +22658,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cbuf scopes: + - variable.lower-case - variable.other.unknown.cbuf - source: ',' scopes: - punctuation.separator.delimiter.comma - source: file scopes: + - variable.lower-case - variable.other.unknown.file - source: ) scopes: @@ -21387,7 +22683,8 @@ - punctuation.section.parens.begin.bracket.round - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21433,7 +22730,8 @@ - punctuation.section.parens.begin.bracket.round - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21467,7 +22765,8 @@ - punctuation.section.parens.begin.bracket.round - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21537,7 +22836,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21635,7 +22935,8 @@ - punctuation.section.parens.begin.bracket.round - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21672,6 +22973,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ) scopes: @@ -21686,7 +22988,8 @@ - meta.block - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21732,7 +23035,8 @@ - punctuation.section.parens.begin.bracket.round - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21779,6 +23083,7 @@ - punctuation.section.parens.begin.bracket.round - source: bcomm scopes: + - variable.lower-case - variable.other.unknown.bcomm - source: ) scopes: @@ -21866,19 +23171,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: bptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21891,29 +23204,40 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: eptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: + scopes: - keyword.operator.arithmetic - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -21926,20 +23250,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: tptr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -21955,12 +23288,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ',' scopes: - punctuation.separator.delimiter.comma - source: eptr scopes: + - variable.lower-case - variable.other.unknown.eptr - source: ',' scopes: @@ -21983,6 +23318,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -21996,12 +23333,14 @@ - punctuation.section.parens.begin.bracket.round - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '==' scopes: - keyword.operator.comparison - source: eptr scopes: + - variable.lower-case - variable.other.unknown.eptr - source: ) scopes: @@ -22023,7 +23362,8 @@ - comment.line.double-slash - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22035,7 +23375,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22067,6 +23408,7 @@ - meta.block - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: += scopes: @@ -22087,7 +23429,8 @@ - comment.line.double-slash - source: bcomm scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.bcomm - source: . scopes: - punctuation.separator.dot-access @@ -22105,7 +23448,8 @@ - punctuation.terminator.statement - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22143,12 +23487,14 @@ - punctuation.section.parens.begin.bracket.round - source: tptr scopes: + - variable.lower-case - variable.other.unknown.tptr - source: '-' scopes: - keyword.operator.arithmetic - source: bptr scopes: + - variable.lower-case - variable.other.unknown.bptr - source: ) scopes: @@ -22181,19 +23527,27 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: head + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22206,6 +23560,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -22283,6 +23639,7 @@ - punctuation.separator.delimiter.comma - source: head scopes: + - variable.lower-case - variable.other.unknown.head - source: ) scopes: @@ -22313,7 +23670,8 @@ - comment.line.double-slash - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22353,6 +23711,7 @@ - punctuation.section.parens.begin.bracket.round - source: head scopes: + - variable.lower-case - variable.other.unknown.head - source: '==' scopes: @@ -22379,19 +23738,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: next + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22407,6 +23774,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -22420,6 +23789,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '==' scopes: @@ -22455,7 +23825,8 @@ - comment.line.double-slash - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22467,7 +23838,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22507,6 +23879,7 @@ - punctuation.section.parens.begin.bracket.round - source: next scopes: + - variable.lower-case - variable.other.unknown.next - source: '==' scopes: @@ -22542,7 +23915,8 @@ - comment.line.double-slash - source: bcomm scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.bcomm - source: . scopes: - punctuation.separator.dot-access @@ -22554,6 +23928,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: @@ -22569,7 +23944,8 @@ - punctuation.terminator.statement - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22605,16 +23981,23 @@ scopesEnd: - meta.block - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: token_got + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: do_accept_identifier_or_keyword scopes: - entity.name.function.call @@ -22623,19 +24006,22 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: options scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.options - source: . scopes: - punctuation.separator.dot-access @@ -22656,12 +24042,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ) scopes: @@ -22677,12 +24065,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: @@ -22720,12 +24110,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: @@ -22748,7 +24140,8 @@ - punctuation.separator.delimiter.comma - source: options scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.options - source: . scopes: - punctuation.separator.dot-access @@ -22769,19 +24162,22 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ',' scopes: - punctuation.separator.delimiter.comma - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: - punctuation.separator.delimiter.comma - source: options scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.options - source: . scopes: - punctuation.separator.dot-access @@ -22791,6 +24187,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -22807,6 +24205,7 @@ - keyword.operator.logical - source: token_got scopes: + - variable.snake-case - variable.other.unknown.token_got - source: ) scopes: @@ -22820,10 +24219,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_DEBUG_LOG scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -22840,7 +24241,8 @@ - punctuation.separator.delimiter.comma - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22856,6 +24258,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -22870,6 +24273,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: reader scopes: + - variable.lower-case - variable.other.unknown.reader - source: ',' scopes: @@ -22908,7 +24312,8 @@ - meta.block - source: reader scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.reader - source: . scopes: - punctuation.separator.dot-access @@ -22939,6 +24344,7 @@ - punctuation.section.parens.begin.bracket.round - source: bcomm scopes: + - variable.lower-case - variable.other.unknown.bcomm - source: ) scopes: @@ -22969,7 +24375,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: bcomm scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.bcomm - source: . scopes: - punctuation.separator.dot-access @@ -22987,7 +24394,8 @@ - punctuation.separator.delimiter.comma - source: bcomm scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.bcomm - source: . scopes: - punctuation.separator.dot-access @@ -23005,7 +24413,8 @@ - punctuation.separator.delimiter.comma - source: bcomm scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.bcomm - source: . scopes: - punctuation.separator.dot-access @@ -23073,7 +24482,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -23091,7 +24501,8 @@ - punctuation.separator.delimiter.comma - source: seq scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seq - source: . scopes: - punctuation.separator.dot-access @@ -23137,6 +24548,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: seq scopes: + - variable.lower-case - variable.other.unknown.seq - source: ) scopes: @@ -23169,12 +24581,14 @@ - punctuation.section.parens.begin.bracket.round - source: Parser_Error scopes: + - variable.snake-case - variable.other.unknown.Parser_Error - source: '&' scopes: - keyword.operator.bitwise - source: err scopes: + - variable.lower-case - variable.other.unknown.err - source: ) scopes: @@ -23196,10 +24610,12 @@ - comment.line.double-slash - source: ASTERIA_DEBUG_LOG scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -23233,7 +24649,8 @@ - punctuation.separator.delimiter.comma - source: err scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.err - source: . scopes: - punctuation.separator.dot-access @@ -23265,7 +24682,8 @@ - punctuation.separator.delimiter.comma - source: err scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.err - source: . scopes: - punctuation.separator.dot-access @@ -23297,7 +24715,8 @@ - punctuation.separator.delimiter.comma - source: err scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.err - source: . scopes: - punctuation.separator.dot-access @@ -23345,7 +24764,8 @@ - punctuation.separator.delimiter.comma - source: err scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.err - source: . scopes: - punctuation.separator.dot-access @@ -23390,7 +24810,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: err scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.err - source: . scopes: - punctuation.separator.dot-access @@ -23407,6 +24828,8 @@ scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call - source: ) + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case scopesEnd: - punctuation.section.arguments.end.bracket.round.function.call - source: ; @@ -23439,6 +24862,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: err scopes: + - variable.lower-case - variable.other.unknown.err - source: ) scopes: @@ -23464,7 +24888,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Token_Stream @@ -23520,7 +24944,7 @@ - meta.body.function.definition - source: Parser_Error scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: Token_Stream scopes: @@ -23596,6 +25020,7 @@ - keyword.control.case - source: state_empty scopes: + - variable.snake-case - variable.other.unknown.state_empty - source: ':' scopes: @@ -23662,6 +25087,7 @@ - keyword.control.case - source: state_error scopes: + - variable.snake-case - variable.other.unknown.state_error - source: ':' scopes: @@ -23684,6 +25110,7 @@ - punctuation.separator.pointer-access - source: m_stor scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -23696,6 +25123,7 @@ - keyword.operator.comparison - source: Parser_Error scopes: + - variable.snake-case - variable.other.unknown.Parser_Error - source: '>' scopes: @@ -23725,6 +25153,7 @@ - keyword.control.case - source: state_success scopes: + - variable.snake-case - variable.other.unknown.state_success - source: ':' scopes: @@ -23772,6 +25201,7 @@ - punctuation.separator.scope-resolution - source: code_success scopes: + - variable.snake-case - variable.other.unknown.code_success - source: ) scopes: @@ -23796,10 +25226,12 @@ - meta.conditional.case - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -23846,6 +25278,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -23862,7 +25295,7 @@ - meta.body.function.definition - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Token_Stream @@ -23939,6 +25372,7 @@ - keyword.control.case - source: state_empty scopes: + - variable.snake-case - variable.other.unknown.state_empty - source: ':' scopes: @@ -23971,6 +25405,7 @@ - keyword.control.case - source: state_error scopes: + - variable.snake-case - variable.other.unknown.state_error - source: ':' scopes: @@ -24003,6 +25438,7 @@ - keyword.control.case - source: state_success scopes: + - variable.snake-case - variable.other.unknown.state_success - source: ':' scopes: @@ -24025,6 +25461,7 @@ - punctuation.separator.pointer-access - source: m_stor scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -24037,6 +25474,7 @@ - keyword.operator.comparison - source: Cow_Vector scopes: + - variable.snake-case - variable.other.unknown.Cow_Vector - source: < scopes: @@ -24089,10 +25527,12 @@ - meta.conditional.case - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -24139,6 +25579,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -24158,7 +25599,7 @@ - storage.modifier.const - source: Token scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -24234,6 +25675,7 @@ - keyword.control.case - source: state_empty scopes: + - variable.snake-case - variable.other.unknown.state_empty - source: ':' scopes: @@ -24247,10 +25689,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -24265,6 +25709,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -24280,6 +25725,7 @@ - keyword.control.case - source: state_error scopes: + - variable.snake-case - variable.other.unknown.state_error - source: ':' scopes: @@ -24293,10 +25739,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -24311,6 +25759,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -24326,6 +25775,7 @@ - keyword.control.case - source: state_success scopes: + - variable.snake-case - variable.other.unknown.state_success - source: ':' scopes: @@ -24338,19 +25788,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: alt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: this scopes: - variable.language.this @@ -24359,6 +25816,7 @@ - punctuation.separator.pointer-access - source: m_stor scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -24371,6 +25829,7 @@ - keyword.operator.comparison - source: Cow_Vector scopes: + - variable.snake-case - variable.other.unknown.Cow_Vector - source: < scopes: @@ -24390,6 +25849,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -24404,7 +25864,8 @@ - punctuation.section.parens.begin.bracket.round - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -24454,7 +25915,8 @@ - punctuation.section.parens.begin.bracket.round - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -24492,10 +25954,12 @@ - meta.conditional.case - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -24542,6 +26006,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -24558,7 +26023,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Token_Stream @@ -24629,6 +26094,7 @@ - keyword.control.case - source: state_empty scopes: + - variable.snake-case - variable.other.unknown.state_empty - source: ':' scopes: @@ -24642,10 +26108,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -24660,6 +26128,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -24675,6 +26144,7 @@ - keyword.control.case - source: state_error scopes: + - variable.snake-case - variable.other.unknown.state_error - source: ':' scopes: @@ -24688,10 +26158,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -24706,6 +26178,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -24721,6 +26194,7 @@ - keyword.control.case - source: state_success scopes: + - variable.snake-case - variable.other.unknown.state_success - source: ':' scopes: @@ -24733,19 +26207,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: alt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: this scopes: - variable.language.this @@ -24754,6 +26235,7 @@ - punctuation.separator.pointer-access - source: m_stor scopes: + - variable.snake-case - variable.other.object.property - source: . scopes: @@ -24766,6 +26248,7 @@ - keyword.operator.comparison - source: Cow_Vector scopes: + - variable.snake-case - variable.other.unknown.Cow_Vector - source: < scopes: @@ -24785,6 +26268,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -24799,7 +26283,8 @@ - punctuation.section.parens.begin.bracket.round - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -24824,10 +26309,12 @@ - punctuation.section.block.begin.bracket.curly - source: ASTERIA_THROW_RUNTIME_ERROR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -24842,6 +26329,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -24852,7 +26340,8 @@ - meta.block - source: alt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.alt - source: . scopes: - punctuation.separator.dot-access @@ -24891,10 +26380,12 @@ - meta.conditional.case - source: ASTERIA_TERMINATE scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -24941,6 +26432,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/misc_test.spec.yaml b/language_examples/misc_test.spec.yaml index 4576a6d8..526043f4 100644 --- a/language_examples/misc_test.spec.yaml +++ b/language_examples/misc_test.spec.yaml @@ -60,19 +60,25 @@ - source: int scopesBegin: - meta.body.class + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: width scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare - source: ',' scopes: - punctuation.separator.delimiter.comma - source: height scopes: + - variable.lower-case - variable.other.unknown.height + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -88,7 +94,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: set_values @@ -129,7 +135,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: area @@ -155,12 +161,14 @@ - keyword.control.return - source: width scopes: + - variable.lower-case - variable.other.unknown.width - source: '*' scopes: - keyword.operator.arithmetic - source: height scopes: + - variable.lower-case - variable.other.unknown.height - source: ; scopes: @@ -185,7 +193,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: Rectangle @@ -238,24 +246,28 @@ scopesBegin: - meta.body.function.definition scopes: + - variable.lower-case - variable.other.unknown.width - source: '=' scopes: - keyword.operator.assignment - source: x scopes: + - variable.lower-case - variable.other.unknown.x - source: ; scopes: - punctuation.terminator.statement - source: height scopes: + - variable.lower-case - variable.other.unknown.height - source: '=' scopes: - keyword.operator.assignment - source: 'y' scopes: + - variable.lower-case - variable.other.unknown.y - source: ; scopes: @@ -267,7 +279,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -289,18 +301,24 @@ - source: Rectangle scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: rect scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: rect scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rect - source: . scopes: - punctuation.separator.dot-access @@ -327,6 +345,7 @@ - punctuation.terminator.statement - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -347,7 +366,8 @@ - keyword.operator.bitwise.shift - source: rect scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.rect - source: . scopes: - punctuation.separator.dot-access diff --git a/language_examples/operator_overload_implicit_const.spec.yaml b/language_examples/operator_overload_implicit_const.spec.yaml index 8ca1747e..543c7e84 100644 --- a/language_examples/operator_overload_implicit_const.spec.yaml +++ b/language_examples/operator_overload_implicit_const.spec.yaml @@ -190,11 +190,13 @@ scopesEnd: - storage.type.modifier.access.control.private - source: const + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -205,13 +207,17 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '*' scopes: - storage.modifier.pointer - source: s scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -274,6 +280,7 @@ - keyword.operator.bitwise - source: symbol scopes: + - variable.lower-case - variable.other.unknown.symbol scopesEnd: - meta.parameter.initialization @@ -305,7 +312,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -361,12 +368,14 @@ - keyword.operator.arithmetic - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: '==' scopes: - keyword.operator.comparison - source: s2 scopes: + - variable.lower-case - variable.other.unknown.s2 - source: ; scopes: @@ -429,6 +438,7 @@ - keyword.operator.arithmetic - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ; scopes: @@ -487,6 +497,7 @@ - keyword.operator.arithmetic - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ; scopes: @@ -504,7 +515,7 @@ - source: std scopesBegin: - meta.function.definition.special.operator-overload - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -515,7 +526,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -624,13 +635,19 @@ scopesEnd: - storage.type.modifier.access.control.private - source: uint32_t + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: id scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -677,6 +694,7 @@ - source: id scopes: - meta.parameter.initialization + - variable.lower-case - variable.other.unknown.id - source: ) scopes: @@ -780,6 +798,7 @@ - keyword.control.return - source: id scopes: + - variable.lower-case - variable.other.unknown.id - source: '>' scopes: @@ -798,7 +817,7 @@ - meta.body.function.definition.special.operator-overload - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -847,13 +866,15 @@ - keyword.control.return - source: id scopes: + - variable.lower-case - variable.other.unknown.id - source: < scopes: - keyword.operator.comparison - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -871,7 +892,7 @@ - meta.body.function.definition.special.operator-overload - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -920,13 +941,15 @@ - keyword.control.return - source: id scopes: + - variable.lower-case - variable.other.unknown.id - source: '==' scopes: - keyword.operator.comparison - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -944,7 +967,7 @@ - meta.body.function.definition.special.operator-overload - source: bool scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -993,13 +1016,15 @@ - keyword.control.return - source: id scopes: + - variable.lower-case - variable.other.unknown.id - source: '!=' scopes: - keyword.operator.comparison - source: other scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.other - source: . scopes: - punctuation.separator.dot-access @@ -1046,7 +1071,8 @@ - storage.type.modifier.access.control.private - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1070,7 +1096,7 @@ - punctuation.separator.scope-resolution.template.call - source: string_view scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -1084,7 +1110,7 @@ - punctuation.separator.scope-resolution.template.call - source: pair scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -1104,7 +1130,7 @@ - punctuation.separator.scope-resolution.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -1120,23 +1146,27 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: symbols scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: ChunkedVector scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -1153,7 +1183,7 @@ - punctuation.separator.scope-resolution.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -1165,11 +1195,12 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: store scopes: - - entity.name.function.call.constructor + - variable.lower-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -1198,7 +1229,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: create scopesBegin: @@ -1261,19 +1292,27 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: it + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: symbols scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.symbols - source: . scopes: - punctuation.separator.dot-access @@ -1285,10 +1324,13 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -1302,13 +1344,15 @@ - punctuation.section.parens.begin.bracket.round - source: it scopes: + - variable.lower-case - variable.other.unknown.it - source: '!=' scopes: - keyword.operator.comparison - source: symbols scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.symbols - source: . scopes: - punctuation.separator.dot-access @@ -1337,12 +1381,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: it scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.it - source: '->' scopes: - punctuation.separator.pointer-access - source: second scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -1379,12 +1425,14 @@ - punctuation.definition.begin.bracket.square - source: rawSym scopes: + - variable.camel-case - variable.other.unknown.rawSym - source: ',' scopes: - punctuation.separator.delimiter.comma - source: idx scopes: + - variable.lower-case - variable.other.unknown.idx - source: ']' scopes: @@ -1396,7 +1444,8 @@ - keyword.operator.assignment - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: . scopes: - punctuation.separator.dot-access @@ -1421,6 +1470,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -1433,7 +1483,8 @@ - punctuation.terminator.statement - source: symbols scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.symbols - source: . scopes: - punctuation.separator.dot-access @@ -1445,6 +1496,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: rawSym scopes: + - variable.camel-case - variable.other.unknown.rawSym - source: ',' scopes: @@ -1467,12 +1519,14 @@ - keyword.operator.bitwise - source: rawSym scopes: + - variable.camel-case - variable.other.unknown.rawSym - source: ',' scopes: - punctuation.separator.delimiter.comma - source: idx scopes: + - variable.lower-case - variable.other.unknown.idx - source: ) scopes: @@ -1494,6 +1548,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: idx scopes: + - variable.lower-case - variable.other.unknown.idx - source: + scopes: @@ -1514,7 +1569,7 @@ - meta.body.function.definition - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1531,13 +1586,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: SymbolStr scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: resolve scopesBegin: @@ -1570,7 +1625,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Symbol scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -1600,7 +1655,8 @@ - source: std scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1617,23 +1673,28 @@ - punctuation.section.angle-brackets.begin.template.call - source: SymbolStr scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: result scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -1645,7 +1706,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: symbols scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.symbols - source: . scopes: - punctuation.separator.dot-access @@ -1676,7 +1738,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: sym @@ -1687,6 +1749,7 @@ - punctuation.separator.colon.range-based - source: symbols scopes: + - variable.lower-case - variable.other.unknown.symbols scopesEnd: - meta.parens.control.for @@ -1697,7 +1760,8 @@ - meta.parens - source: result scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.result - source: . scopes: - punctuation.separator.dot-access @@ -1730,6 +1794,7 @@ - punctuation.definition.begin.bracket.square - source: sym scopes: + - variable.lower-case - variable.other.unknown.sym - source: ']' scopes: @@ -1747,6 +1812,7 @@ - keyword.control.return - source: result scopes: + - variable.lower-case - variable.other.unknown.result - source: ; scopes: @@ -1761,7 +1827,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -1811,7 +1877,8 @@ - punctuation.section.parens.begin.bracket.round - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: . scopes: - punctuation.separator.dot-access @@ -1829,7 +1896,8 @@ - keyword.operator.logical - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: . scopes: - punctuation.separator.dot-access @@ -1841,7 +1909,8 @@ - keyword.operator.comparison - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: . scopes: - punctuation.separator.dot-access @@ -1890,7 +1959,8 @@ - punctuation.definition.begin.bracket.square - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: . scopes: - punctuation.separator.dot-access @@ -1925,7 +1995,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: size @@ -1954,7 +2024,8 @@ - keyword.control.return - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: . scopes: - punctuation.separator.dot-access @@ -1977,7 +2048,7 @@ - meta.body.function.definition - source: size_t scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: totalSize @@ -2023,7 +2094,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dump @@ -2061,7 +2132,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: . scopes: - punctuation.separator.dot-access @@ -2073,6 +2145,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: callback scopes: + - variable.lower-case - variable.other.unknown.callback - source: ) scopes: diff --git a/language_examples/pr_161.spec.yaml b/language_examples/pr_161.spec.yaml index 7a4d723d..c6c0b761 100644 --- a/language_examples/pr_161.spec.yaml +++ b/language_examples/pr_161.spec.yaml @@ -11,7 +11,7 @@ - keyword.operator.assignment - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -27,7 +27,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -38,7 +38,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -65,18 +65,21 @@ scopesBegin: - meta.arguments.decltype scopes: + - variable.lower-case - variable.other.unknown.a - source: '?' scopes: - keyword.operator.ternary - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ':' scopes: - keyword.operator.ternary - source: c scopes: + - variable.lower-case - variable.other.unknown.c scopesEnd: - meta.arguments.decltype @@ -117,7 +120,7 @@ - keyword.operator.assignment - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -133,7 +136,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -144,7 +147,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -171,18 +174,21 @@ scopesBegin: - meta.arguments.decltype scopes: + - variable.lower-case - variable.other.unknown.a - source: '?' scopes: - keyword.operator.ternary - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ':' scopes: - keyword.operator.ternary - source: c scopes: + - variable.lower-case - variable.other.unknown.c scopesEnd: - meta.arguments.decltype @@ -206,7 +212,7 @@ - meta.tail.struct - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: foo @@ -239,7 +245,7 @@ - keyword.operator.assignment - source: B scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ; scopes: @@ -255,7 +261,7 @@ - keyword.operator.assignment - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -266,7 +272,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: ; scopes: - punctuation.terminator.statement @@ -293,18 +299,21 @@ scopesBegin: - meta.arguments.decltype scopes: + - variable.lower-case - variable.other.unknown.a - source: '?' scopes: - keyword.operator.ternary - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ':' scopes: - keyword.operator.ternary - source: c scopes: + - variable.lower-case - variable.other.unknown.c scopesEnd: - meta.arguments.decltype diff --git a/language_examples/pr_435.spec.yaml b/language_examples/pr_435.spec.yaml index b19ae00f..39a73497 100644 --- a/language_examples/pr_435.spec.yaml +++ b/language_examples/pr_435.spec.yaml @@ -13,7 +13,7 @@ - source: task scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -25,7 +25,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: tcp_echo_server scopesBegin: @@ -95,22 +95,30 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: size_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: 'n' + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: co_await scopes: - keyword.control.co_await - source: socket scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.socket - source: . scopes: - punctuation.separator.dot-access @@ -128,6 +136,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ) scopes: @@ -135,6 +144,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -149,6 +160,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: socket scopes: + - variable.lower-case - variable.other.unknown.socket - source: ',' scopes: @@ -161,12 +173,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: data scopes: + - variable.lower-case - variable.other.unknown.data - source: ',' scopes: - punctuation.separator.delimiter.comma - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ) scopesBegin: @@ -189,7 +203,7 @@ - meta.body.function.definition - source: generator scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -205,7 +219,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: iota scopesBegin: @@ -265,6 +279,7 @@ - keyword.control.co_yield - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ++ scopes: @@ -279,7 +294,7 @@ - meta.body.function.definition - source: lazy scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -295,7 +310,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: f scopesBegin: diff --git a/language_examples/ranged_for.spec.yaml b/language_examples/ranged_for.spec.yaml index e54e35ee..e23bcc71 100644 --- a/language_examples/ranged_for.spec.yaml +++ b/language_examples/ranged_for.spec.yaml @@ -469,6 +469,7 @@ - keyword.operator.bitwise - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -500,6 +501,7 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -515,6 +517,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -533,7 +536,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: EvalState scopes: @@ -579,7 +582,8 @@ - source: std scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -603,27 +607,37 @@ - punctuation.separator.scope-resolution.template.call - source: Built scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: drvs scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: StringMap + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: res scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -639,7 +653,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -653,6 +667,7 @@ - punctuation.separator.colon.range-based - source: context scopes: + - variable.lower-case - variable.other.unknown.context scopesEnd: - meta.parens.control.for @@ -677,12 +692,14 @@ - punctuation.definition.begin.bracket.square - source: ctx scopes: + - variable.lower-case - variable.other.unknown.ctx - source: ',' scopes: - punctuation.separator.delimiter.comma - source: outputName scopes: + - variable.camel-case - variable.other.unknown.outputName - source: ']' scopes: @@ -703,12 +720,14 @@ - keyword.operator.arithmetic - source: store scopes: + - variable.lower-case - variable.other.unknown.store - source: ',' scopes: - punctuation.separator.delimiter.comma - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ) scopes: @@ -717,19 +736,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ctxS + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: '->' scopes: - punctuation.separator.pointer-access @@ -741,10 +768,13 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ctx scopes: + - variable.lower-case - variable.other.unknown.ctx - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -761,7 +791,8 @@ - keyword.operator.logical - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: '->' scopes: - punctuation.separator.pointer-access @@ -773,6 +804,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ctx scopes: + - variable.lower-case - variable.other.unknown.ctx - source: ) scopes: @@ -796,7 +828,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: '->' scopes: - punctuation.separator.pointer-access @@ -808,6 +841,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ctx scopes: + - variable.lower-case - variable.other.unknown.ctx - source: ) scopes: @@ -834,7 +868,8 @@ - keyword.operator.logical - source: outputName scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.outputName - source: . scopes: - punctuation.separator.dot-access @@ -852,7 +887,8 @@ - keyword.operator.logical - source: ctx scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ctx - source: . scopes: - punctuation.separator.dot-access @@ -877,7 +913,8 @@ - punctuation.section.block.begin.bracket.curly - source: drvs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drvs - source: . scopes: - punctuation.separator.dot-access @@ -890,6 +927,7 @@ - source: '{' - source: ctx scopes: + - variable.lower-case - variable.other.unknown.ctx - source: ',' scopes: @@ -897,6 +935,7 @@ - source: ' {' - source: outputName scopes: + - variable.camel-case - variable.other.unknown.outputName - source: '}}' - source: ) @@ -920,7 +959,8 @@ - punctuation.section.block.begin.bracket.curly - source: res scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.res - source: . scopes: - punctuation.separator.dot-access @@ -932,12 +972,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ctxS scopes: + - variable.camel-case - variable.other.unknown.ctxS - source: ',' scopes: - punctuation.separator.delimiter.comma - source: ctxS scopes: + - variable.camel-case - variable.other.unknown.ctxS - source: ) scopes: @@ -965,7 +1007,8 @@ - punctuation.section.parens.begin.bracket.round - source: drvs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drvs - source: . scopes: - punctuation.separator.dot-access @@ -1012,7 +1055,8 @@ - keyword.operator.logical - source: evalSettings scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.evalSettings - source: . scopes: - punctuation.separator.dot-access @@ -1058,7 +1102,8 @@ - punctuation.separator.delimiter.comma - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: '->' scopes: - punctuation.separator.pointer-access @@ -1070,7 +1115,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: drvs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drvs - source: . scopes: - punctuation.separator.dot-access @@ -1114,7 +1160,8 @@ - comment.block - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -1131,17 +1178,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: DerivedPath scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: buildReqs scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -1157,7 +1208,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -1171,6 +1222,7 @@ - punctuation.separator.colon.range-based - source: drvs scopes: + - variable.lower-case - variable.other.unknown.drvs scopesEnd: - meta.parens.control.for @@ -1181,7 +1233,8 @@ - meta.parens - source: buildReqs scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.buildReqs - source: . scopes: - punctuation.separator.dot-access @@ -1197,6 +1250,7 @@ - source: ' { ' - source: d scopes: + - variable.lower-case - variable.other.unknown.d - source: ' }' - source: ) @@ -1207,7 +1261,8 @@ - punctuation.terminator.statement - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: '->' scopes: - punctuation.separator.pointer-access @@ -1219,6 +1274,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: buildReqs scopes: + - variable.camel-case - variable.other.unknown.buildReqs - source: ) scopes: @@ -1250,7 +1306,7 @@ - meta.parens.control.for - meta.binding scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -1278,6 +1334,7 @@ - meta.binding - source: drvs scopes: + - variable.lower-case - variable.other.unknown.drvs scopesEnd: - meta.parens.control.for @@ -1292,22 +1349,30 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: outputPaths + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: '->' scopes: - punctuation.separator.pointer-access @@ -1319,10 +1384,13 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPath scopes: + - variable.camel-case - variable.other.unknown.drvPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -1338,7 +1406,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -1352,6 +1420,7 @@ - punctuation.separator.colon.range-based - source: outputs scopes: + - variable.lower-case - variable.other.unknown.outputs scopesEnd: - meta.parens.control.for @@ -1366,16 +1435,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: outputPath + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: get scopes: - entity.name.function.call @@ -1384,16 +1460,20 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: outputPaths scopes: + - variable.camel-case - variable.other.unknown.outputPaths - source: ',' scopes: - punctuation.separator.delimiter.comma - source: outputName scopes: + - variable.camel-case - variable.other.unknown.outputName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -1410,6 +1490,7 @@ - keyword.operator.logical - source: outputPath scopes: + - variable.camel-case - variable.other.unknown.outputPath - source: ) scopes: @@ -1452,7 +1533,8 @@ - punctuation.separator.delimiter.comma - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: '->' scopes: - punctuation.separator.pointer-access @@ -1464,6 +1546,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPath scopes: + - variable.camel-case - variable.other.unknown.drvPath - source: ) scopes: @@ -1473,6 +1556,7 @@ - punctuation.separator.delimiter.comma - source: outputName scopes: + - variable.camel-case - variable.other.unknown.outputName - source: ) scopesBegin: @@ -1485,7 +1569,8 @@ - punctuation.terminator.statement - source: res scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.res - source: . scopes: - punctuation.separator.dot-access @@ -1506,18 +1591,21 @@ - keyword.operator.arithmetic - source: store scopes: + - variable.lower-case - variable.other.unknown.store - source: ',' scopes: - punctuation.separator.delimiter.comma - source: drvPath scopes: + - variable.camel-case - variable.other.unknown.drvPath - source: ',' scopes: - punctuation.separator.delimiter.comma - source: outputName scopes: + - variable.camel-case - variable.other.unknown.outputName - source: ) scopes: @@ -1527,7 +1615,8 @@ - punctuation.separator.delimiter.comma - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: '->' scopes: - punctuation.separator.pointer-access @@ -1542,6 +1631,7 @@ - keyword.operator.arithmetic - source: outputPath scopes: + - variable.camel-case - variable.other.unknown.outputPath - source: ) scopesBegin: @@ -1584,6 +1674,7 @@ - punctuation.section.parens.begin.bracket.round - source: allowedPaths scopes: + - variable.camel-case - variable.other.unknown.allowedPaths - source: ) scopes: @@ -1608,7 +1699,7 @@ - meta.parens.control.for - meta.binding scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -1636,6 +1727,7 @@ - meta.binding - source: res scopes: + - variable.lower-case - variable.other.unknown.res scopesEnd: - meta.parens.control.for @@ -1657,7 +1749,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: '->' scopes: - punctuation.separator.pointer-access @@ -1669,6 +1762,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: outputPath scopes: + - variable.camel-case - variable.other.unknown.outputPath - source: ) scopes: @@ -1694,6 +1788,7 @@ - keyword.control.return - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ; scopes: @@ -1727,19 +1822,28 @@ scopesEnd: - comment.line.double-slash - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: checkForPureEval + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -1760,7 +1864,7 @@ - storage.modifier.static - source: Path scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: realisePath scopesBegin: @@ -1836,26 +1940,38 @@ - source: PathSet scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -1894,7 +2010,8 @@ - keyword.control.return - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -1906,18 +2023,21 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -1946,6 +2066,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -1959,7 +2080,8 @@ - punctuation.section.block.begin.bracket.curly - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -1971,7 +2093,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -1985,6 +2108,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -2036,6 +2160,7 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: @@ -2049,18 +2174,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: StringMap + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: rewrites + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -2072,27 +2205,38 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: realPath + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -2110,12 +2254,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: rewrites scopes: + - variable.lower-case - variable.other.unknown.rewrites - source: ) scopes: @@ -2125,10 +2271,13 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -2137,7 +2286,8 @@ - keyword.control.return - source: flags scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.flags - source: . scopes: - punctuation.separator.dot-access @@ -2149,7 +2299,8 @@ - keyword.operator.ternary - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -2161,6 +2312,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: realPath scopes: + - variable.camel-case - variable.other.unknown.realPath - source: ) scopes: @@ -2170,6 +2322,7 @@ - keyword.operator.ternary - source: realPath scopes: + - variable.camel-case - variable.other.unknown.realPath - source: ; scopes: @@ -2195,6 +2348,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -2208,7 +2362,8 @@ - punctuation.section.block.begin.bracket.curly - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -2220,7 +2375,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -2234,6 +2390,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -2263,6 +2420,7 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -2314,7 +2472,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: mkOutputString @@ -2409,14 +2567,14 @@ - punctuation.separator.scope-resolution.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: DerivationOutput scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -2443,24 +2601,32 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: optOutputPath + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: o scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.o - source: . scopes: - punctuation.separator.dot-access - source: second scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -2476,7 +2642,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -2488,7 +2655,8 @@ - punctuation.separator.delimiter.comma - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -2500,7 +2668,8 @@ - punctuation.separator.delimiter.comma - source: o scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.o - source: . scopes: - punctuation.separator.dot-access @@ -2510,12 +2679,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -2527,7 +2699,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: o scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.o - source: . scopes: - punctuation.separator.dot-access @@ -2548,18 +2721,21 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: optOutputPath scopes: + - variable.camel-case - variable.other.unknown.optOutputPath - source: '?' scopes: - keyword.operator.ternary - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2575,6 +2751,7 @@ - keyword.operator.arithmetic - source: optOutputPath scopes: + - variable.camel-case - variable.other.unknown.optOutputPath - source: ) scopes: @@ -2613,7 +2790,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -2625,13 +2803,15 @@ - punctuation.separator.delimiter.comma - source: drvPath scopes: + - variable.camel-case - variable.other.unknown.drvPath - source: ',' scopes: - punctuation.separator.delimiter.comma - source: o scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.o - source: . scopes: - punctuation.separator.dot-access @@ -2661,7 +2841,8 @@ - keyword.operator.arithmetic - source: o scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.o - source: . scopes: - punctuation.separator.dot-access @@ -2687,12 +2868,14 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2705,6 +2888,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPath scopes: + - variable.camel-case - variable.other.unknown.drvPath - source: ) scopes: @@ -2739,11 +2923,12 @@ - storage.modifier.specifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: import scopes: + - variable.lower-case - variable.other.unknown.import - source: ( scopesBegin: @@ -2758,6 +2943,7 @@ - keyword.operator.bitwise - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -2770,6 +2956,7 @@ - variable.other.unknown.PosIdx - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -2782,6 +2969,7 @@ - keyword.operator.bitwise - source: vPath scopes: + - variable.camel-case - variable.other.unknown.vPath - source: ',' scopes: @@ -2794,6 +2982,7 @@ - keyword.operator.arithmetic - source: vScope scopes: + - variable.camel-case - variable.other.unknown.vScope - source: ',' scopes: @@ -2806,6 +2995,7 @@ - keyword.operator.bitwise - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -2818,16 +3008,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: realisePath scopes: - entity.name.function.call @@ -2836,22 +3033,27 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: vPath scopes: + - variable.camel-case - variable.other.unknown.vPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -2864,16 +3066,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: isValidDerivationInStore + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -2918,12 +3127,14 @@ - keyword.operator.logical - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2936,6 +3147,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -2957,6 +3169,7 @@ - punctuation.separator.scope-resolution - source: nullopt scopes: + - variable.lower-case - variable.other.unknown.nullopt - source: ; scopes: @@ -2967,18 +3180,21 @@ - storage.type.built-in.primitive - source: storePath scopes: + - variable.camel-case - variable.other.unknown.storePath - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -2991,6 +3207,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -3016,12 +3233,14 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -3034,6 +3253,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: storePath scopes: + - variable.camel-case - variable.other.unknown.storePath - source: ) scopes: @@ -3049,6 +3269,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -3075,6 +3296,7 @@ - punctuation.separator.scope-resolution - source: nullopt scopes: + - variable.lower-case - variable.other.unknown.nullopt - source: ; scopes: @@ -3084,6 +3306,7 @@ - keyword.control.return - source: storePath scopes: + - variable.camel-case - variable.other.unknown.storePath - source: ; scopes: @@ -3092,6 +3315,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -3110,6 +3334,7 @@ - storage.type.built-in.primitive - source: optStorePath scopes: + - variable.camel-case - variable.other.unknown.optStorePath - source: '=' scopes: @@ -3134,43 +3359,62 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: storePath + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '*' scopes: - keyword.operator.arithmetic - source: optStorePath scopes: + - variable.camel-case - variable.other.unknown.optStorePath + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: Derivation + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: drv + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -3183,27 +3427,38 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: storePath scopes: + - variable.camel-case - variable.other.unknown.storePath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3221,12 +3476,14 @@ - keyword.operator.arithmetic - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: outputs scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -3242,13 +3499,15 @@ - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -3260,7 +3519,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3281,6 +3541,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: @@ -3302,6 +3563,7 @@ - keyword.operator.arithmetic - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: '}' - source: ) @@ -3312,7 +3574,8 @@ - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -3324,7 +3587,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3345,7 +3609,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -3380,22 +3645,30 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: outputsVal + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -3407,7 +3680,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3417,12 +3691,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3434,18 +3711,21 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: outputsVal scopes: + - variable.camel-case - variable.other.unknown.outputsVal - source: ',' scopes: - punctuation.separator.delimiter.comma - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: outputs scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -3481,7 +3761,7 @@ - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -3515,7 +3795,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -3545,30 +3826,35 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ',' scopes: - punctuation.separator.delimiter.comma - source: storePath scopes: + - variable.camel-case - variable.other.unknown.storePath - source: ',' scopes: - punctuation.separator.delimiter.comma - source: drv scopes: + - variable.lower-case - variable.other.unknown.drv - source: ',' scopes: - punctuation.separator.delimiter.comma - source: o scopes: + - variable.lower-case - variable.other.unknown.o - source: ) scopes: @@ -3583,7 +3869,8 @@ - punctuation.section.parens.begin.bracket.round - source: outputsVal scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.outputsVal - source: . scopes: - punctuation.separator.dot-access @@ -3603,6 +3890,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -3614,7 +3902,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3643,7 +3932,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: o scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.o - source: . scopes: - punctuation.separator.dot-access @@ -3662,19 +3952,27 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: w + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3687,12 +3985,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: w scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.w - source: '->' scopes: - punctuation.separator.pointer-access @@ -3704,6 +4005,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ) scopes: @@ -3724,7 +4026,8 @@ - keyword.operator.logical - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3743,7 +4046,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3761,7 +4065,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3782,7 +4087,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3794,7 +4100,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3853,7 +4160,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3873,7 +4181,8 @@ - meta.block - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3891,7 +4200,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3903,6 +4213,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -3912,7 +4223,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -3927,7 +4239,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3939,6 +4252,7 @@ - punctuation.separator.delimiter.comma - source: w scopes: + - variable.lower-case - variable.other.unknown.w - source: ) scopes: @@ -3948,7 +4262,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -3960,12 +4275,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -3991,12 +4308,14 @@ - punctuation.section.parens.begin.bracket.round - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: '==' scopes: - keyword.operator.comparison - source: corepkgsPrefix scopes: + - variable.camel-case - variable.other.unknown.corepkgsPrefix - source: + scopes: @@ -4024,7 +4343,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -4036,7 +4356,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -4089,6 +4410,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -4122,6 +4444,7 @@ - keyword.operator.logical - source: vScope scopes: + - variable.camel-case - variable.other.unknown.vScope - source: ) scopes: @@ -4130,7 +4453,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -4142,12 +4466,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -4165,7 +4491,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -4180,12 +4507,14 @@ - keyword.operator.arithmetic - source: vScope scopes: + - variable.camel-case - variable.other.unknown.vScope - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -4194,24 +4523,32 @@ scopes: - punctuation.terminator.statement - source: Env + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: env + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '&' scopes: - keyword.operator.bitwise - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -4223,12 +4560,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vScope scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.vScope - source: '->' scopes: - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -4244,13 +4583,15 @@ - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement - source: env scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.env - source: '->' scopes: - punctuation.separator.pointer-access @@ -4265,7 +4606,8 @@ - keyword.operator.bitwise - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -4276,16 +4618,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: staticEnv + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -4304,7 +4653,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: StaticEnv scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -4323,12 +4672,14 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: staticBaseEnv scopes: + - variable.camel-case - variable.other.object.property - source: . scopes: @@ -4347,12 +4698,14 @@ - punctuation.separator.delimiter.comma - source: vScope scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.vScope - source: '->' scopes: - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -4369,28 +4722,38 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: unsigned scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: displ + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -4406,7 +4769,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -4423,7 +4786,8 @@ - keyword.operator.arithmetic - source: vScope scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.vScope - source: '->' scopes: - punctuation.separator.pointer-access @@ -4444,12 +4808,14 @@ - punctuation.section.block.begin.bracket.curly - source: staticEnv scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.staticEnv - source: '->' scopes: - punctuation.separator.pointer-access - source: vars scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -4462,7 +4828,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -4474,6 +4841,7 @@ - punctuation.separator.delimiter.comma - source: displ scopes: + - variable.lower-case - variable.other.unknown.displ - source: ) scopes: @@ -4483,7 +4851,8 @@ - punctuation.terminator.statement - source: env scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.env - source: '->' scopes: - punctuation.separator.pointer-access @@ -4497,6 +4866,7 @@ - punctuation.definition.begin.bracket.square - source: displ scopes: + - variable.lower-case - variable.other.unknown.displ - source: ++ scopes: @@ -4511,7 +4881,8 @@ - keyword.operator.assignment - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -4564,6 +4935,7 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -4572,21 +4944,29 @@ scopes: - punctuation.terminator.statement - source: Expr + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: e + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -4604,6 +4984,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -4613,16 +4994,20 @@ - punctuation.separator.delimiter.comma - source: staticEnv scopes: + - variable.camel-case - variable.other.unknown.staticEnv - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: '->' scopes: - punctuation.separator.pointer-access @@ -4634,6 +5019,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -4643,12 +5029,14 @@ - keyword.operator.arithmetic - source: env scopes: + - variable.lower-case - variable.other.unknown.env - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -4678,7 +5066,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_scopedImport scopesBegin: @@ -4693,7 +5081,7 @@ - meta.function.definition.parameters - meta.parameter - meta.initialization - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -4704,7 +5092,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.arguments.begin.bracket.curly.initializer @@ -4835,6 +5223,7 @@ - punctuation.section.block.begin.bracket.curly.lambda - source: import scopes: + - variable.lower-case - variable.other.unknown.import - source: ( scopesBegin: @@ -4843,12 +5232,14 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -4896,6 +5287,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -4934,7 +5326,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_import scopesBegin: @@ -5140,6 +5532,7 @@ - punctuation.section.block.begin.bracket.curly.lambda - source: import scopes: + - variable.lower-case - variable.other.unknown.import - source: ( scopesBegin: @@ -5148,12 +5541,14 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -5188,6 +5583,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -5255,7 +5651,7 @@ - keyword.other.typedef - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ( @@ -5323,7 +5719,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_importNative @@ -5399,16 +5795,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: realisePath scopes: - entity.name.function.call @@ -5417,12 +5819,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -5449,6 +5853,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5461,7 +5867,7 @@ - punctuation.separator.scope-resolution - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: sym scopes: @@ -5471,7 +5877,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -5505,6 +5912,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -5516,19 +5924,26 @@ scopes: - punctuation.terminator.statement - source: void + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: handle + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: dlopen scopes: - entity.name.function.call @@ -5537,7 +5952,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.path - source: . scopes: - punctuation.separator.dot-access @@ -5555,16 +5971,20 @@ - punctuation.separator.delimiter.comma - source: RTLD_LAZY scopes: + - variable.snake-case - variable.other.unknown.RTLD_LAZY - source: '|' scopes: - keyword.operator.bitwise - source: RTLD_LOCAL scopes: + - variable.snake-case - variable.other.unknown.RTLD_LOCAL - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5581,6 +6001,7 @@ - keyword.operator.logical - source: handle scopes: + - variable.lower-case - variable.other.unknown.handle - source: ) scopes: @@ -5589,7 +6010,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -5628,6 +6050,7 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: @@ -5663,15 +6086,22 @@ scopes: - punctuation.terminator.statement - source: ValueInitializer + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: func + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ( scopesBegin: - meta.parens @@ -5693,13 +6123,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: handle scopes: + - variable.lower-case - variable.other.unknown.handle - source: ',' scopes: - punctuation.separator.delimiter.comma - source: sym scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.sym - source: . scopes: - punctuation.separator.dot-access @@ -5715,6 +6147,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5731,6 +6165,7 @@ - keyword.operator.logical - source: func scopes: + - variable.lower-case - variable.other.unknown.func - source: ) scopes: @@ -5743,19 +6178,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: char + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '*' scopes: - storage.modifier.pointer - source: message + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: dlerror scopes: - entity.name.function.call @@ -5765,6 +6207,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -5778,6 +6222,7 @@ - punctuation.section.parens.begin.bracket.round - source: message scopes: + - variable.lower-case - variable.other.unknown.message - source: ) scopes: @@ -5786,7 +6231,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -5829,18 +6275,21 @@ - punctuation.separator.delimiter.comma - source: sym scopes: + - variable.lower-case - variable.other.unknown.sym - source: ',' scopes: - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: message scopes: + - variable.lower-case - variable.other.unknown.message - source: ) scopes: @@ -5856,7 +6305,8 @@ - keyword.control.else - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -5896,12 +6346,14 @@ - punctuation.separator.delimiter.comma - source: sym scopes: + - variable.lower-case - variable.other.unknown.sym - source: ',' scopes: - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -5924,6 +6376,7 @@ - punctuation.section.parens.begin.bracket.round - source: func scopes: + - variable.lower-case - variable.other.unknown.func - source: ) scopes: @@ -5933,12 +6386,14 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -5980,7 +6435,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_exec @@ -6057,7 +6512,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6091,6 +6547,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -6099,16 +6556,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elems + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -6137,20 +6601,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: count + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -6179,6 +6652,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6192,6 +6667,7 @@ - punctuation.section.parens.begin.bracket.round - source: count scopes: + - variable.lower-case - variable.other.unknown.count - source: '==' scopes: @@ -6206,7 +6682,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6226,6 +6703,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -6256,13 +6734,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6276,6 +6756,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -6293,29 +6774,43 @@ scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: program + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6327,6 +6822,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -6355,6 +6851,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: @@ -6383,16 +6880,24 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: Strings + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: commandArgs scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -6415,6 +6920,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -6427,6 +6933,7 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: @@ -6467,6 +6974,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -6482,7 +6990,8 @@ - punctuation.section.block.begin.bracket.curly - source: commandArgs scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.commandArgs - source: . scopes: - punctuation.separator.dot-access @@ -6494,7 +7003,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6506,6 +7016,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -6523,6 +7034,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -6534,6 +7046,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: @@ -6582,19 +7095,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: _ + scopesBegin: + - meta.assignment scopes: - - variable.other.assignment + - variable.other.unknown._ - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6606,10 +7126,13 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -6642,6 +7165,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -6655,7 +7179,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6675,6 +7200,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -6709,13 +7235,15 @@ - punctuation.separator.delimiter.comma - source: program scopes: + - variable.lower-case - variable.other.unknown.program - source: ',' scopes: - punctuation.separator.delimiter.comma - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -6731,13 +7259,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6751,6 +7281,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -6773,16 +7304,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: output + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: runProgram scopes: - entity.name.function.call @@ -6791,6 +7329,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: program scopes: + - variable.lower-case - variable.other.unknown.program - source: ',' scopes: @@ -6803,23 +7342,32 @@ - punctuation.separator.delimiter.comma - source: commandArgs scopes: + - variable.camel-case - variable.other.unknown.commandArgs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: Expr + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: parsed scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -6832,19 +7380,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: base + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6858,24 +7414,28 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement - source: parsed scopes: + - variable.lower-case - variable.other.unknown.parsed - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6900,6 +7460,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: output scopes: + - variable.lower-case - variable.other.unknown.output - source: ) scopes: @@ -6909,7 +7470,8 @@ - punctuation.separator.delimiter.comma - source: base scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.base - source: . scopes: - punctuation.separator.dot-access @@ -6943,6 +7505,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -6956,7 +7519,8 @@ - punctuation.section.block.begin.bracket.curly - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -6968,7 +7532,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -6982,6 +7547,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -7011,6 +7577,7 @@ - punctuation.separator.delimiter.comma - source: program scopes: + - variable.lower-case - variable.other.unknown.program - source: ) scopes: @@ -7039,7 +7606,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -7051,12 +7619,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: parsed scopes: + - variable.lower-case - variable.other.unknown.parsed - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -7085,6 +7655,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -7098,7 +7669,8 @@ - punctuation.section.block.begin.bracket.curly - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -7110,7 +7682,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -7124,6 +7697,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -7153,6 +7727,7 @@ - punctuation.separator.delimiter.comma - source: program scopes: + - variable.lower-case - variable.other.unknown.program - source: ) scopes: @@ -7195,7 +7770,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_typeOf @@ -7272,7 +7847,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -7306,6 +7882,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -7315,7 +7892,8 @@ - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -7326,10 +7904,14 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: t scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -7390,6 +7972,7 @@ - keyword.control.case - source: nInt scopes: + - variable.camel-case - variable.other.unknown.nInt - source: ':' scopes: @@ -7398,6 +7981,7 @@ - meta.conditional.case - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: '=' scopes: @@ -7429,6 +8013,7 @@ - keyword.control.case - source: nBool scopes: + - variable.camel-case - variable.other.unknown.nBool - source: ':' scopes: @@ -7437,6 +8022,7 @@ - meta.conditional.case - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: '=' scopes: @@ -7468,6 +8054,7 @@ - keyword.control.case - source: nString scopes: + - variable.camel-case - variable.other.unknown.nString - source: ':' scopes: @@ -7476,6 +8063,7 @@ - meta.conditional.case - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: '=' scopes: @@ -7507,6 +8095,7 @@ - keyword.control.case - source: nPath scopes: + - variable.camel-case - variable.other.unknown.nPath - source: ':' scopes: @@ -7515,6 +8104,7 @@ - meta.conditional.case - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: '=' scopes: @@ -7546,6 +8136,7 @@ - keyword.control.case - source: nNull scopes: + - variable.camel-case - variable.other.unknown.nNull - source: ':' scopes: @@ -7554,6 +8145,7 @@ - meta.conditional.case - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: '=' scopes: @@ -7585,6 +8177,7 @@ - keyword.control.case - source: nAttrs scopes: + - variable.camel-case - variable.other.unknown.nAttrs - source: ':' scopes: @@ -7593,6 +8186,7 @@ - meta.conditional.case - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: '=' scopes: @@ -7624,6 +8218,7 @@ - keyword.control.case - source: nList scopes: + - variable.camel-case - variable.other.unknown.nList - source: ':' scopes: @@ -7632,6 +8227,7 @@ - meta.conditional.case - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: '=' scopes: @@ -7663,6 +8259,7 @@ - keyword.control.case - source: nFunction scopes: + - variable.camel-case - variable.other.unknown.nFunction - source: ':' scopes: @@ -7671,6 +8268,7 @@ - meta.conditional.case - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: '=' scopes: @@ -7702,6 +8300,7 @@ - keyword.control.case - source: nExternal scopes: + - variable.camel-case - variable.other.unknown.nExternal - source: ':' scopes: @@ -7710,6 +8309,7 @@ - meta.conditional.case - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: '=' scopes: @@ -7735,6 +8335,7 @@ - punctuation.separator.pointer-access - source: external scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -7764,6 +8365,7 @@ - keyword.control.case - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: ':' scopes: @@ -7772,6 +8374,7 @@ - meta.conditional.case - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: '=' scopes: @@ -7803,6 +8406,7 @@ - keyword.control.case - source: nThunk scopes: + - variable.camel-case - variable.other.unknown.nThunk - source: ':' scopes: @@ -7829,7 +8433,8 @@ - meta.body.switch - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -7841,6 +8446,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: t scopes: + - variable.lower-case - variable.other.unknown.t - source: ) scopes: @@ -7858,7 +8464,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_typeOf scopesBegin: @@ -7953,6 +8559,7 @@ - keyword.operator.assignment - source: prim_typeOf scopes: + - variable.snake-case - variable.other.unknown.prim_typeOf - source: ',' scopes: @@ -7988,7 +8595,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_isNull @@ -8065,7 +8672,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -8099,6 +8707,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -8108,7 +8717,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -8151,6 +8761,7 @@ - keyword.operator.comparison - source: nNull scopes: + - variable.camel-case - variable.other.unknown.nNull - source: ) scopes: @@ -8168,7 +8779,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_isNull scopesBegin: @@ -8264,6 +8875,7 @@ - keyword.operator.assignment - source: prim_isNull scopes: + - variable.snake-case - variable.other.unknown.prim_isNull - source: ',' scopes: @@ -8299,7 +8911,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_isFunction @@ -8376,7 +8988,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -8410,6 +9023,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -8419,7 +9033,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -8462,6 +9077,7 @@ - keyword.operator.comparison - source: nFunction scopes: + - variable.camel-case - variable.other.unknown.nFunction - source: ) scopes: @@ -8479,7 +9095,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_isFunction scopesBegin: @@ -8572,6 +9188,7 @@ - keyword.operator.assignment - source: prim_isFunction scopes: + - variable.snake-case - variable.other.unknown.prim_isFunction - source: ',' scopes: @@ -8607,7 +9224,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_isInt @@ -8684,7 +9301,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -8718,6 +9336,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -8727,7 +9346,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -8770,6 +9390,7 @@ - keyword.operator.comparison - source: nInt scopes: + - variable.camel-case - variable.other.unknown.nInt - source: ) scopes: @@ -8787,7 +9408,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_isInt scopesBegin: @@ -8880,6 +9501,7 @@ - keyword.operator.assignment - source: prim_isInt scopes: + - variable.snake-case - variable.other.unknown.prim_isInt - source: ',' scopes: @@ -8915,7 +9537,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_isFloat @@ -8992,7 +9614,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -9026,6 +9649,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -9035,7 +9659,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -9078,6 +9703,7 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: ) scopes: @@ -9095,7 +9721,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_isFloat scopesBegin: @@ -9188,6 +9814,7 @@ - keyword.operator.assignment - source: prim_isFloat scopes: + - variable.snake-case - variable.other.unknown.prim_isFloat - source: ',' scopes: @@ -9223,7 +9850,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_isString @@ -9300,7 +9927,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -9334,6 +9962,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -9343,7 +9972,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -9386,6 +10016,7 @@ - keyword.operator.comparison - source: nString scopes: + - variable.camel-case - variable.other.unknown.nString - source: ) scopes: @@ -9403,7 +10034,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_isString scopesBegin: @@ -9496,6 +10127,7 @@ - keyword.operator.assignment - source: prim_isString scopes: + - variable.snake-case - variable.other.unknown.prim_isString - source: ',' scopes: @@ -9531,7 +10163,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_isBool @@ -9608,7 +10240,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -9642,6 +10275,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -9651,7 +10285,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -9694,6 +10329,7 @@ - keyword.operator.comparison - source: nBool scopes: + - variable.camel-case - variable.other.unknown.nBool - source: ) scopes: @@ -9711,7 +10347,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_isBool scopesBegin: @@ -9804,6 +10440,7 @@ - keyword.operator.assignment - source: prim_isBool scopes: + - variable.snake-case - variable.other.unknown.prim_isBool - source: ',' scopes: @@ -9839,7 +10476,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_isPath @@ -9916,7 +10553,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -9950,6 +10588,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -9959,7 +10598,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -10002,6 +10642,7 @@ - keyword.operator.comparison - source: nPath scopes: + - variable.camel-case - variable.other.unknown.nPath - source: ) scopes: @@ -10019,7 +10660,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_isPath scopesBegin: @@ -10112,6 +10753,7 @@ - keyword.operator.assignment - source: prim_isPath scopes: + - variable.snake-case - variable.other.unknown.prim_isPath - source: ',' scopes: @@ -10145,15 +10787,20 @@ - source: EvalState scopesBegin: - meta.body.struct + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '&' scopes: - storage.modifier.reference - source: state scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -10198,6 +10845,7 @@ - source: state scopes: - meta.parameter.initialization + - variable.lower-case - variable.other.unknown.state - source: ) scopes: @@ -10222,7 +10870,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -10288,7 +10936,8 @@ - punctuation.section.parens.begin.bracket.round - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10306,13 +10955,15 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: '&&' scopes: - keyword.operator.logical - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10330,6 +10981,7 @@ - keyword.operator.comparison - source: nInt scopes: + - variable.camel-case - variable.other.unknown.nInt - source: ) scopes: @@ -10341,7 +10993,8 @@ - keyword.control.return - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10353,7 +11006,8 @@ - keyword.operator.comparison - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10373,7 +11027,8 @@ - punctuation.section.parens.begin.bracket.round - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10391,13 +11046,15 @@ - keyword.operator.comparison - source: nInt scopes: + - variable.camel-case - variable.other.unknown.nInt - source: '&&' scopes: - keyword.operator.logical - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10415,6 +11072,7 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: ) scopes: @@ -10426,7 +11084,8 @@ - keyword.control.return - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10438,7 +11097,8 @@ - keyword.operator.comparison - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10458,7 +11118,8 @@ - punctuation.section.parens.begin.bracket.round - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10476,7 +11137,8 @@ - keyword.operator.comparison - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10496,7 +11158,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -10544,6 +11207,7 @@ - keyword.operator.arithmetic - source: v1 scopes: + - variable.lower-case - variable.other.unknown.v1 - source: ) scopes: @@ -10562,6 +11226,7 @@ - keyword.operator.arithmetic - source: v2 scopes: + - variable.lower-case - variable.other.unknown.v2 - source: ) scopesBegin: @@ -10588,7 +11253,8 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10619,6 +11285,7 @@ - keyword.control.case - source: nInt scopes: + - variable.camel-case - variable.other.unknown.nInt - source: ':' scopes: @@ -10630,7 +11297,8 @@ - keyword.control.return - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10642,7 +11310,8 @@ - keyword.operator.comparison - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10659,6 +11328,7 @@ - keyword.control.case - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: ':' scopes: @@ -10670,7 +11340,8 @@ - keyword.control.return - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10682,7 +11353,8 @@ - keyword.operator.comparison - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10699,6 +11371,7 @@ - keyword.control.case - source: nString scopes: + - variable.camel-case - variable.other.unknown.nString - source: ':' scopes: @@ -10716,12 +11389,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access - source: string scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -10734,12 +11409,14 @@ - punctuation.separator.delimiter.comma - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access - source: string scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -10766,6 +11443,7 @@ - keyword.control.case - source: nPath scopes: + - variable.camel-case - variable.other.unknown.nPath - source: ':' scopes: @@ -10783,7 +11461,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10795,7 +11474,8 @@ - punctuation.separator.delimiter.comma - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10821,6 +11501,7 @@ - keyword.control.case - source: nList scopes: + - variable.camel-case - variable.other.unknown.nList - source: ':' scopes: @@ -10851,6 +11532,7 @@ - storage.type.built-in - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -10866,6 +11548,7 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ++ scopes: @@ -10892,13 +11575,15 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '==' scopes: - keyword.operator.comparison - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -10948,13 +11633,15 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '==' scopes: - keyword.operator.comparison - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -11007,7 +11694,8 @@ - keyword.operator.logical - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -11022,7 +11710,8 @@ - keyword.operator.arithmetic - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -11042,6 +11731,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -11056,7 +11746,8 @@ - keyword.operator.arithmetic - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -11076,6 +11767,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -11117,7 +11809,8 @@ - punctuation.section.parens.begin.bracket.round - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -11137,6 +11830,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -11148,7 +11842,8 @@ - punctuation.separator.delimiter.comma - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -11168,6 +11863,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -11204,7 +11900,8 @@ - meta.conditional.case - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -11252,6 +11949,7 @@ - keyword.operator.arithmetic - source: v1 scopes: + - variable.lower-case - variable.other.unknown.v1 - source: ) scopes: @@ -11270,6 +11968,7 @@ - keyword.operator.arithmetic - source: v2 scopes: + - variable.lower-case - variable.other.unknown.v2 - source: ) scopesBegin: @@ -11330,6 +12029,7 @@ - punctuation.separator.scope-resolution - source: list scopes: + - variable.lower-case - variable.other.unknown.list - source: < scopes: @@ -11345,6 +12045,7 @@ - punctuation.separator.delimiter.comma - source: gc_allocator scopes: + - variable.snake-case - variable.other.unknown.gc_allocator - source: < scopes: @@ -11384,6 +12085,7 @@ - punctuation.separator.scope-resolution - source: list scopes: + - variable.lower-case - variable.other.unknown.list - source: < scopes: @@ -11418,7 +12120,7 @@ - storage.modifier.static - source: Bindings scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -11429,7 +12131,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: getAttr scopesBegin: - meta.head.function.definition @@ -11513,7 +12215,8 @@ - source: Bindings scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -11524,16 +12227,22 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: value + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attrSet scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.attrSet - source: '->' scopes: - punctuation.separator.pointer-access @@ -11545,10 +12254,13 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrSym scopes: + - variable.camel-case - variable.other.unknown.attrSym - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -11562,13 +12274,15 @@ - punctuation.section.parens.begin.bracket.round - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: '==' scopes: - keyword.operator.comparison - source: attrSet scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.attrSet - source: '->' scopes: - punctuation.separator.pointer-access @@ -11592,15 +12306,22 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: hintformat + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: errorMsg + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: hintfmt scopes: - entity.name.function.call @@ -11631,7 +12352,8 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -11645,6 +12367,7 @@ - punctuation.definition.begin.bracket.square - source: attrSym scopes: + - variable.camel-case - variable.other.unknown.attrSym - source: ']' scopes: @@ -11656,33 +12379,46 @@ - punctuation.separator.delimiter.comma - source: funcName scopes: + - variable.camel-case - variable.other.unknown.funcName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: aPos + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attrSet scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.attrSet - source: '->' scopes: - punctuation.separator.pointer-access - source: pos scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -11699,6 +12435,7 @@ - keyword.operator.logical - source: aPos scopes: + - variable.camel-case - variable.other.unknown.aPos - source: ) scopes: @@ -11712,7 +12449,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -11732,12 +12470,14 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment - source: errorMsg scopes: + - variable.camel-case - variable.other.unknown.errorMsg - source: ',' scopes: @@ -11745,13 +12485,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -11765,6 +12507,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -11798,16 +12541,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: e + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: TypeError scopes: - entity.name.function.call @@ -11818,12 +12568,14 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: - keyword.operator.assignment - source: errorMsg scopes: + - variable.camel-case - variable.other.unknown.errorMsg - source: ',' scopes: @@ -11831,13 +12583,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -11851,6 +12605,7 @@ - punctuation.definition.begin.bracket.square - source: aPos scopes: + - variable.camel-case - variable.other.unknown.aPos - source: ']' scopes: @@ -11864,6 +12619,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -11881,7 +12638,8 @@ - comment.line.double-slash - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -11893,7 +12651,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -11907,6 +12666,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -11942,6 +12702,7 @@ - punctuation.separator.delimiter.comma - source: funcName scopes: + - variable.camel-case - variable.other.unknown.funcName - source: ) scopes: @@ -11954,7 +12715,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -11966,6 +12728,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -11988,6 +12751,7 @@ - keyword.control.return - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ; scopes: @@ -12002,7 +12766,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_genericClosure @@ -12079,7 +12843,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -12113,6 +12878,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -12133,7 +12899,8 @@ - comment.block - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -12144,13 +12911,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: startSet + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: getAttr scopes: - entity.name.function.call @@ -12159,6 +12931,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -12179,7 +12952,8 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -12216,16 +12990,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -12240,7 +13018,8 @@ - keyword.operator.arithmetic - source: startSet scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.startSet - source: '->' scopes: - punctuation.separator.pointer-access @@ -12252,6 +13031,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -12260,12 +13040,18 @@ scopes: - punctuation.terminator.statement - source: ValueList + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: workSet scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -12281,7 +13067,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem @@ -12292,12 +13078,14 @@ - punctuation.separator.colon.range-based - source: startSet scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.startSet - source: '->' scopes: - punctuation.separator.pointer-access - source: value scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -12320,7 +13108,8 @@ - meta.parens - source: workSet scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.workSet - source: . scopes: - punctuation.separator.dot-access @@ -12332,6 +13121,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ) scopes: @@ -12352,7 +13142,8 @@ - comment.block - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -12363,13 +13154,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: op + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: getAttr scopes: - entity.name.function.call @@ -12378,6 +13174,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -12398,7 +13195,8 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -12435,16 +13233,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -12459,7 +13261,8 @@ - keyword.operator.arithmetic - source: op scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.op - source: '->' scopes: - punctuation.separator.pointer-access @@ -12471,6 +13274,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -12492,12 +13296,18 @@ scopesEnd: - comment.block - source: ValueList + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: res scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -12514,16 +13324,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: cmp + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: CompareValues scopes: - entity.name.function.call @@ -12532,10 +13349,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -12548,7 +13368,7 @@ - punctuation.separator.scope-resolution - source: set scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -12558,7 +13378,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: @@ -12577,6 +13397,7 @@ - source: cmp scopes: - meta.arguments.decltype + - variable.lower-case - variable.other.unknown.cmp - source: ) scopes: @@ -12585,7 +13406,7 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: doneKeys scopes: @@ -12595,6 +13416,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: cmp scopes: + - variable.lower-case - variable.other.unknown.cmp - source: ) scopes: @@ -12615,7 +13437,8 @@ - keyword.operator.logical - source: workSet scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.workSet - source: . scopes: - punctuation.separator.dot-access @@ -12639,18 +13462,25 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: Value + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: e + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '*' scopes: - keyword.operator.arithmetic @@ -12661,7 +13491,8 @@ - punctuation.section.parens.begin.bracket.round - source: workSet scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.workSet - source: . scopes: - punctuation.separator.dot-access @@ -12678,13 +13509,15 @@ scopes: - punctuation.section.parens.end.bracket.round scopesEnd: + - meta.assignment - meta.parens - source: ; scopes: - punctuation.terminator.statement - source: workSet scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.workSet - source: . scopes: - punctuation.separator.dot-access @@ -12702,7 +13535,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -12717,12 +13551,14 @@ - keyword.operator.arithmetic - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -12732,7 +13568,8 @@ - punctuation.terminator.statement - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -12743,21 +13580,28 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: key + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: '->' scopes: - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -12770,7 +13614,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -12780,6 +13625,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -12793,18 +13640,21 @@ - punctuation.section.parens.begin.bracket.round - source: key scopes: + - variable.lower-case - variable.other.unknown.key - source: '==' scopes: - keyword.operator.comparison - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: '->' scopes: - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -12825,7 +13675,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -12845,6 +13696,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -12875,13 +13727,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -12895,6 +13749,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -12913,7 +13768,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -12928,7 +13784,8 @@ - keyword.operator.arithmetic - source: key scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.key - source: '->' scopes: - punctuation.separator.pointer-access @@ -12940,6 +13797,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -12960,7 +13818,8 @@ - keyword.operator.logical - source: doneKeys scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.doneKeys - source: . scopes: - punctuation.separator.dot-access @@ -12972,7 +13831,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: key scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.key - source: '->' scopes: - punctuation.separator.pointer-access @@ -13001,7 +13861,8 @@ - punctuation.terminator.statement - source: res scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.res - source: . scopes: - punctuation.separator.dot-access @@ -13013,6 +13874,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -13032,18 +13894,25 @@ scopesEnd: - comment.block - source: Value + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: call scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: call scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.call - source: . scopes: - punctuation.separator.dot-access @@ -13055,7 +13924,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: op scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.op - source: '->' scopes: - punctuation.separator.pointer-access @@ -13067,6 +13937,7 @@ - punctuation.separator.delimiter.comma - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -13076,7 +13947,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -13088,12 +13960,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: call scopes: + - variable.lower-case - variable.other.unknown.call - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -13124,7 +13998,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem @@ -13135,7 +14009,8 @@ - punctuation.separator.colon.range-based - source: call scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.call - source: . scopes: - punctuation.separator.dot-access @@ -13162,7 +14037,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -13177,12 +14053,14 @@ - keyword.operator.arithmetic - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -13192,7 +14070,8 @@ - punctuation.terminator.statement - source: workSet scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.workSet - source: . scopes: - punctuation.separator.dot-access @@ -13204,6 +14083,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ) scopes: @@ -13234,7 +14114,8 @@ - comment.block - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -13246,13 +14127,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: res scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.res - source: . scopes: - punctuation.separator.dot-access @@ -13273,23 +14156,31 @@ - punctuation.terminator.statement - source: unsigned scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: 'n' + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -13305,7 +14196,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -13319,6 +14210,7 @@ - punctuation.separator.colon.range-based - source: res scopes: + - variable.lower-case - variable.other.unknown.res scopesEnd: - meta.parens.control.for @@ -13329,7 +14221,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -13349,6 +14242,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ++ scopes: @@ -13363,6 +14257,7 @@ - keyword.operator.assignment - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ; scopes: @@ -13377,7 +14272,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_genericClosure scopesBegin: @@ -13392,7 +14287,7 @@ - meta.function.definition.parameters - meta.parameter - meta.initialization - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -13403,7 +14298,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.arguments.begin.bracket.curly.initializer @@ -13535,6 +14430,7 @@ - keyword.operator.assignment - source: prim_genericClosure scopes: + - variable.snake-case - variable.other.unknown.prim_genericClosure - source: ',' scopes: @@ -13559,7 +14455,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_break scopesBegin: @@ -13734,7 +14630,8 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -13749,12 +14646,14 @@ - keyword.operator.logical - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: debugTraces scopes: + - variable.camel-case - variable.other.object.property - source: . scopes: @@ -13779,16 +14678,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: error + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: Error scopes: - entity.name.function.call @@ -13802,12 +14708,14 @@ - source: ' .' - source: level scopes: + - variable.lower-case - variable.other.unknown.level - source: '=' scopes: - keyword.operator.assignment - source: lvlInfo scopes: + - variable.camel-case - variable.other.unknown.lvlInfo - source: ',' scopes: @@ -13815,6 +14723,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -13845,13 +14754,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -13865,6 +14776,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -13878,31 +14790,42 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: dt + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: debugTraces scopes: + - variable.camel-case - variable.other.object.property - source: . scopes: @@ -13916,12 +14839,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -13936,13 +14862,15 @@ - keyword.operator.bitwise - source: error scopes: + - variable.lower-case - variable.other.unknown.error - source: ',' scopes: - punctuation.separator.delimiter.comma - source: dt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.dt - source: . scopes: - punctuation.separator.dot-access @@ -13954,7 +14882,8 @@ - punctuation.separator.delimiter.comma - source: dt scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.dt - source: . scopes: - punctuation.separator.dot-access @@ -13977,7 +14906,8 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -14018,12 +14948,14 @@ - source: ' .' - source: level scopes: + - variable.lower-case - variable.other.unknown.level - source: '=' scopes: - keyword.operator.assignment - source: lvlInfo scopes: + - variable.camel-case - variable.other.unknown.lvlInfo - source: ',' scopes: @@ -14031,6 +14963,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -14061,13 +14994,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -14081,6 +15016,7 @@ - punctuation.definition.begin.bracket.square - source: noPos scopes: + - variable.camel-case - variable.other.unknown.noPos - source: ']' scopes: @@ -14117,6 +15053,7 @@ - comment.line.double-slash - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: '=' scopes: @@ -14168,7 +15105,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_abort scopesBegin: @@ -14337,6 +15274,7 @@ - variable.other.unknown.PathSet - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ; scopes: @@ -14347,13 +15285,15 @@ - storage.type.built-in.primitive - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -14365,6 +15305,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -14393,6 +15334,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -14414,7 +15356,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -14450,6 +15393,7 @@ - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -14485,7 +15429,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_throw scopesBegin: @@ -14658,6 +15602,7 @@ - variable.other.unknown.PathSet - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ; scopes: @@ -14668,13 +15613,15 @@ - storage.type.built-in.primitive - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -14686,6 +15633,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -14714,6 +15662,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -14735,7 +15684,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -14753,6 +15703,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -14788,7 +15739,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_addErrorContext @@ -14873,7 +15824,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -14907,6 +15859,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -14916,6 +15869,7 @@ - punctuation.terminator.statement - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: '=' scopes: @@ -14963,6 +15917,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -14975,18 +15930,25 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -15005,13 +15967,15 @@ - punctuation.separator.scope-resolution - source: nullopt scopes: + - variable.lower-case - variable.other.unknown.nullopt - source: ',' scopes: - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -15023,6 +15987,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -15051,6 +16016,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -15094,7 +16060,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_addErrorContext scopesBegin: @@ -15109,7 +16075,7 @@ - meta.function.definition.parameters - meta.parameter - meta.initialization - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -15120,7 +16086,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.arguments.begin.bracket.curly.initializer @@ -15178,6 +16144,7 @@ - keyword.operator.assignment - source: prim_addErrorContext scopes: + - variable.snake-case - variable.other.unknown.prim_addErrorContext - source: ',' scopes: @@ -15207,7 +16174,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_ceil @@ -15283,19 +16250,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: value + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -15354,19 +16328,22 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -15384,6 +16361,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ) scopes: @@ -15404,7 +16382,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_ceil scopesBegin: @@ -15500,6 +16478,7 @@ - keyword.operator.assignment - source: prim_ceil scopes: + - variable.snake-case - variable.other.unknown.prim_ceil - source: ',' scopes: @@ -15524,7 +16503,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_floor @@ -15600,19 +16579,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: value + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -15671,19 +16657,22 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -15701,6 +16690,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: value scopes: + - variable.lower-case - variable.other.unknown.value - source: ) scopes: @@ -15721,7 +16711,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_floor scopesBegin: @@ -15817,6 +16807,7 @@ - keyword.operator.assignment - source: prim_floor scopes: + - variable.snake-case - variable.other.unknown.prim_floor - source: ',' scopes: @@ -15853,7 +16844,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_tryEval @@ -15929,19 +16920,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -15957,6 +16955,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15970,7 +16970,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -16004,6 +17005,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -16013,7 +17015,8 @@ - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -16025,7 +17028,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -16059,7 +17063,8 @@ - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -16122,6 +17127,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -16135,7 +17141,8 @@ - punctuation.section.block.begin.bracket.curly - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -16147,7 +17154,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -16177,7 +17185,8 @@ - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -16226,7 +17235,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -16238,6 +17248,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ) scopes: @@ -16255,7 +17266,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_tryEval scopesBegin: @@ -16360,6 +17371,7 @@ - keyword.operator.assignment - source: prim_tryEval scopes: + - variable.snake-case - variable.other.unknown.prim_tryEval - source: ',' scopes: @@ -16395,7 +17407,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_getEnv @@ -16479,7 +17491,7 @@ - punctuation.separator.scope-resolution - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: name scopes: @@ -16489,7 +17501,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -16523,6 +17536,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -16535,7 +17549,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -16547,7 +17562,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: evalSettings scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.evalSettings - source: . scopes: - punctuation.separator.dot-access @@ -16559,7 +17575,8 @@ - keyword.operator.logical - source: evalSettings scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.evalSettings - source: . scopes: - punctuation.separator.dot-access @@ -16590,6 +17607,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ) scopes: @@ -16632,7 +17650,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_getEnv scopesBegin: @@ -16732,6 +17750,7 @@ - keyword.operator.assignment - source: prim_getEnv scopes: + - variable.snake-case - variable.other.unknown.prim_getEnv - source: ',' scopes: @@ -16767,7 +17786,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_seq @@ -16844,7 +17863,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -16878,6 +17898,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -16887,7 +17908,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -16921,6 +17943,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -16930,6 +17953,7 @@ - punctuation.terminator.statement - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: '=' scopes: @@ -16966,7 +17990,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_seq scopesBegin: @@ -17078,6 +18102,7 @@ - keyword.operator.assignment - source: prim_seq scopes: + - variable.snake-case - variable.other.unknown.prim_seq - source: ',' scopes: @@ -17114,7 +18139,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_deepSeq @@ -17191,7 +18216,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -17228,7 +18254,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -17262,6 +18289,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -17271,6 +18299,7 @@ - punctuation.terminator.statement - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: '=' scopes: @@ -17307,7 +18336,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_deepSeq scopesBegin: @@ -17420,6 +18449,7 @@ - keyword.operator.assignment - source: prim_deepSeq scopes: + - variable.snake-case - variable.other.unknown.prim_deepSeq - source: ',' scopes: @@ -17456,7 +18486,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_trace @@ -17533,7 +18563,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -17567,6 +18598,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -17615,6 +18647,7 @@ - keyword.operator.comparison - source: nString scopes: + - variable.camel-case - variable.other.unknown.nString - source: ) scopes: @@ -17665,6 +18698,7 @@ - punctuation.separator.pointer-access - source: string scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -17712,6 +18746,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -17746,7 +18781,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -17780,6 +18816,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -17789,6 +18826,7 @@ - punctuation.terminator.statement - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: '=' scopes: @@ -17825,7 +18863,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_trace scopesBegin: @@ -17938,6 +18976,7 @@ - keyword.operator.assignment - source: prim_trace scopes: + - variable.snake-case - variable.other.unknown.prim_trace - source: ',' scopes: @@ -17990,7 +19029,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_derivationStrict @@ -18067,7 +19106,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -18101,6 +19141,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -18121,7 +19162,8 @@ - comment.block - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -18132,13 +19174,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: attr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: getAttr scopes: - entity.name.function.call @@ -18147,6 +19194,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -18167,7 +19215,8 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -18204,16 +19253,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -18224,36 +19277,50 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: drvName scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: posDrvName + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: '->' scopes: - punctuation.separator.pointer-access - source: pos scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -18267,13 +19334,15 @@ - punctuation.section.block.begin.bracket.curly - source: drvName scopes: + - variable.camel-case - variable.other.unknown.drvName - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -18288,7 +19357,8 @@ - keyword.operator.arithmetic - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: '->' scopes: - punctuation.separator.pointer-access @@ -18300,6 +19370,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -18328,6 +19399,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -18341,7 +19413,8 @@ - punctuation.section.block.begin.bracket.curly - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -18353,7 +19426,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -18367,6 +19441,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -18417,7 +19492,8 @@ - comment.block - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -18428,16 +19504,21 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: jsonBuf scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -18454,22 +19535,27 @@ - punctuation.section.angle-brackets.begin.template.call - source: JSONObject scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: jsonObject scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: attr scopes: + - variable.lower-case - variable.other.unknown.attr - source: '=' scopes: @@ -18495,6 +19581,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -18507,7 +19594,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -18530,6 +19618,7 @@ - punctuation.section.parens.begin.bracket.round - source: attr scopes: + - variable.lower-case - variable.other.unknown.attr - source: '!=' scopes: @@ -18555,6 +19644,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -18573,7 +19663,8 @@ - keyword.operator.logical - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -18588,7 +19679,8 @@ - keyword.operator.arithmetic - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: '->' scopes: - punctuation.separator.pointer-access @@ -18600,6 +19692,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -18611,6 +19704,7 @@ - meta.parens - source: jsonObject scopes: + - variable.camel-case - variable.other.unknown.jsonObject - source: '=' scopes: @@ -18633,7 +19727,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: JSONObject scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -18646,6 +19740,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: jsonBuf scopes: + - variable.camel-case - variable.other.unknown.jsonBuf - source: ) scopes: @@ -18665,24 +19760,34 @@ scopesEnd: - comment.block - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ignoreNulls + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: attr scopes: + - variable.lower-case - variable.other.unknown.attr - source: '=' scopes: @@ -18708,6 +19813,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -18720,7 +19826,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -18743,6 +19850,7 @@ - punctuation.section.parens.begin.bracket.round - source: attr scopes: + - variable.lower-case - variable.other.unknown.attr - source: '!=' scopes: @@ -18768,6 +19876,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -18788,13 +19897,15 @@ - meta.parens - source: ignoreNulls scopes: + - variable.camel-case - variable.other.unknown.ignoreNulls - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -18809,7 +19920,8 @@ - keyword.operator.arithmetic - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: '->' scopes: - punctuation.separator.pointer-access @@ -18821,6 +19933,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -18840,18 +19953,25 @@ scopesEnd: - comment.block - source: Derivation + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: drv scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -18863,57 +19983,83 @@ - keyword.operator.assignment - source: drvName scopes: + - variable.camel-case - variable.other.unknown.drvName - source: ; scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: contentAddressed + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: isImpure + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -18937,23 +20083,28 @@ - punctuation.separator.scope-resolution.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: outputHash scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -18964,16 +20115,21 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: outputHashAlgo scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -18990,33 +20146,44 @@ - punctuation.section.angle-brackets.begin.template.call - source: FileIngestionMethod scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ingestionMethod scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: StringSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: outputs scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: outputs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.outputs - source: . scopes: - punctuation.separator.dot-access @@ -19055,7 +20222,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -19088,6 +20255,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -19100,7 +20268,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -19132,7 +20301,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -19144,7 +20314,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -19163,11 +20334,13 @@ scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -19178,19 +20351,25 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference - source: key + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -19204,7 +20383,8 @@ - punctuation.definition.begin.bracket.square - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -19215,6 +20395,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -19245,6 +20426,7 @@ - punctuation.separator.delimiter.comma - source: key scopes: + - variable.lower-case - variable.other.unknown.key - source: ) scopes: @@ -19253,16 +20435,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: handleHashMode + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -19318,6 +20507,7 @@ - punctuation.section.parens.begin.bracket.round - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: '==' scopes: @@ -19340,6 +20530,7 @@ - meta.parens - source: ingestionMethod scopes: + - variable.camel-case - variable.other.unknown.ingestionMethod - source: '=' scopes: @@ -19370,6 +20561,7 @@ - punctuation.section.parens.begin.bracket.round - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: '==' scopes: @@ -19392,6 +20584,7 @@ - meta.parens - source: ingestionMethod scopes: + - variable.camel-case - variable.other.unknown.ingestionMethod - source: '=' scopes: @@ -19414,7 +20607,8 @@ - keyword.control.else - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -19434,6 +20628,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -19464,6 +20659,7 @@ - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -19474,13 +20670,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -19494,6 +20692,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -19514,21 +20713,29 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: handleOutputs + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -19572,7 +20779,8 @@ - punctuation.section.block.begin.bracket.curly.lambda - source: outputs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.outputs - source: . scopes: - punctuation.separator.dot-access @@ -19600,7 +20808,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -19614,6 +20822,7 @@ - punctuation.separator.colon.range-based - source: ss scopes: + - variable.lower-case - variable.other.unknown.ss scopesEnd: - meta.parens.control.for @@ -19637,7 +20846,8 @@ - punctuation.section.parens.begin.bracket.round - source: outputs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.outputs - source: . scopes: - punctuation.separator.dot-access @@ -19649,6 +20859,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: j scopes: + - variable.lower-case - variable.other.unknown.j - source: ) scopes: @@ -19658,7 +20869,8 @@ - keyword.operator.comparison - source: outputs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.outputs - source: . scopes: - punctuation.separator.dot-access @@ -19678,7 +20890,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -19698,6 +20911,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -19728,6 +20942,7 @@ - punctuation.separator.delimiter.comma - source: j scopes: + - variable.lower-case - variable.other.unknown.j - source: ) scopes: @@ -19738,13 +20953,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -19758,6 +20975,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -19805,6 +21023,7 @@ - punctuation.section.parens.begin.bracket.round - source: j scopes: + - variable.lower-case - variable.other.unknown.j - source: '==' scopes: @@ -19827,7 +21046,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -19847,6 +21067,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -19877,13 +21098,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -19897,6 +21120,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -19915,7 +21139,8 @@ - punctuation.terminator.statement - source: outputs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.outputs - source: . scopes: - punctuation.separator.dot-access @@ -19927,6 +21152,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: j scopes: + - variable.lower-case - variable.other.unknown.j - source: ) scopes: @@ -19949,7 +21175,8 @@ - punctuation.section.parens.begin.bracket.round - source: outputs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.outputs - source: . scopes: - punctuation.separator.dot-access @@ -19969,7 +21196,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -19989,6 +21217,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -20019,13 +21248,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20039,6 +21270,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -20059,6 +21291,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -20081,6 +21314,7 @@ - punctuation.section.parens.begin.bracket.round - source: ignoreNulls scopes: + - variable.camel-case - variable.other.unknown.ignoreNulls - source: ) scopes: @@ -20094,7 +21328,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20109,7 +21344,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20121,6 +21357,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -20138,12 +21375,14 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access - source: value scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -20162,6 +21401,7 @@ - keyword.operator.comparison - source: nNull scopes: + - variable.camel-case - variable.other.unknown.nNull - source: ) scopes: @@ -20189,7 +21429,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20201,7 +21442,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20220,13 +21462,15 @@ - punctuation.section.block.begin.bracket.curly - source: contentAddressed scopes: + - variable.camel-case - variable.other.unknown.contentAddressed - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20241,7 +21485,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20253,6 +21498,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -20270,6 +21516,7 @@ - punctuation.section.parens.begin.bracket.round - source: contentAddressed scopes: + - variable.camel-case - variable.other.unknown.contentAddressed - source: ) scopes: @@ -20278,7 +21525,8 @@ - meta.parens - source: settings scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.settings - source: . scopes: - punctuation.separator.dot-access @@ -20322,7 +21570,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20334,7 +21583,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20353,13 +21603,15 @@ - punctuation.section.block.begin.bracket.curly - source: isImpure scopes: + - variable.camel-case - variable.other.unknown.isImpure - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20374,7 +21626,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20386,6 +21639,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -20403,6 +21657,7 @@ - punctuation.section.parens.begin.bracket.round - source: isImpure scopes: + - variable.camel-case - variable.other.unknown.isImpure - source: ) scopes: @@ -20411,7 +21666,8 @@ - meta.parens - source: settings scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.settings - source: . scopes: - punctuation.separator.dot-access @@ -20467,7 +21723,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20479,7 +21736,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20498,7 +21756,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20513,7 +21772,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20525,6 +21785,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -20544,7 +21805,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem @@ -20555,12 +21816,14 @@ - punctuation.separator.colon.range-based - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access - source: value scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -20587,19 +21850,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20611,6 +21882,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ',' scopes: @@ -20620,12 +21892,14 @@ - keyword.operator.arithmetic - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: @@ -20648,17 +21922,21 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: args scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -20671,6 +21949,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -20718,6 +21997,7 @@ - punctuation.section.parens.begin.bracket.round - source: jsonObject scopes: + - variable.camel-case - variable.other.unknown.jsonObject - source: ) scopes: @@ -20739,7 +22019,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20751,7 +22032,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20781,7 +22063,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: jsonObject scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.jsonObject - source: '->' scopes: - punctuation.separator.pointer-access @@ -20793,6 +22076,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: key scopes: + - variable.lower-case - variable.other.unknown.key - source: ) scopes: @@ -20811,6 +22095,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -20826,7 +22111,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20838,18 +22124,21 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: placeholder scopes: + - variable.lower-case - variable.other.unknown.placeholder - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -20867,7 +22156,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20879,7 +22169,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20893,7 +22184,8 @@ - meta.parens - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -20905,7 +22197,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20920,7 +22213,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20932,12 +22226,14 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ) scopes: @@ -20958,7 +22254,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -20970,7 +22267,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -20984,7 +22282,8 @@ - meta.parens - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -20996,7 +22295,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21011,7 +22311,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21023,6 +22324,7 @@ - punctuation.separator.delimiter.comma - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ) scopes: @@ -21043,7 +22345,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21055,7 +22358,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21069,13 +22373,15 @@ - meta.parens - source: outputHash scopes: + - variable.camel-case - variable.other.unknown.outputHash - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21090,7 +22396,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21102,6 +22409,7 @@ - punctuation.separator.delimiter.comma - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ) scopes: @@ -21122,7 +22430,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21134,7 +22443,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21148,13 +22458,15 @@ - meta.parens - source: outputHashAlgo scopes: + - variable.camel-case - variable.other.unknown.outputHashAlgo - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21169,7 +22481,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21181,6 +22494,7 @@ - punctuation.separator.delimiter.comma - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ) scopes: @@ -21201,7 +22515,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21213,7 +22528,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21233,7 +22549,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21248,7 +22565,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21260,6 +22578,7 @@ - punctuation.separator.delimiter.comma - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ) scopes: @@ -21283,7 +22602,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21295,7 +22615,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21325,7 +22646,8 @@ - comment.block - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21340,7 +22662,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21352,6 +22675,7 @@ - punctuation.separator.delimiter.comma - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ) scopes: @@ -21360,12 +22684,18 @@ scopes: - punctuation.terminator.statement - source: Strings + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ss scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -21381,7 +22711,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem @@ -21392,12 +22722,14 @@ - punctuation.separator.colon.range-based - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access - source: value scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -21420,7 +22752,8 @@ - meta.parens - source: ss scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ss - source: . scopes: - punctuation.separator.dot-access @@ -21432,7 +22765,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21447,12 +22781,14 @@ - keyword.operator.arithmetic - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ) scopesBegin: @@ -21471,6 +22807,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ss scopes: + - variable.lower-case - variable.other.unknown.ss - source: ) scopes: @@ -21497,19 +22834,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21521,7 +22866,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21536,7 +22882,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21548,6 +22895,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: @@ -21570,17 +22918,21 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: env scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -21593,12 +22945,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: key scopes: + - variable.lower-case - variable.other.unknown.key - source: ',' scopes: - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -21616,7 +22970,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21628,7 +22983,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21642,7 +22998,8 @@ - meta.parens - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -21667,6 +23024,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -21687,7 +23045,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21699,7 +23058,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21713,7 +23073,8 @@ - meta.parens - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -21738,6 +23099,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -21758,7 +23120,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21770,7 +23133,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21784,6 +23148,7 @@ - meta.parens - source: outputHash scopes: + - variable.camel-case - variable.other.unknown.outputHash - source: '=' scopes: @@ -21803,6 +23168,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -21823,7 +23189,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21835,7 +23202,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21849,6 +23217,7 @@ - meta.parens - source: outputHashAlgo scopes: + - variable.camel-case - variable.other.unknown.outputHashAlgo - source: '=' scopes: @@ -21868,6 +23237,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -21888,7 +23258,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21900,7 +23271,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21920,6 +23292,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -21940,7 +23313,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -21952,7 +23326,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -21981,7 +23356,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Strings scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -21994,6 +23369,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopesBegin: @@ -22035,6 +23411,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -22048,7 +23425,8 @@ - punctuation.section.block.begin.bracket.curly - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -22060,7 +23438,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -22074,6 +23453,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -22107,12 +23487,14 @@ - punctuation.separator.delimiter.comma - source: key scopes: + - variable.lower-case - variable.other.unknown.key - source: ',' scopes: - punctuation.separator.delimiter.comma - source: drvName scopes: + - variable.camel-case - variable.other.unknown.drvName - source: ) scopes: @@ -22146,6 +23528,7 @@ - punctuation.section.parens.begin.bracket.round - source: jsonObject scopes: + - variable.camel-case - variable.other.unknown.jsonObject - source: ) scopes: @@ -22159,7 +23542,8 @@ - punctuation.section.block.begin.bracket.curly - source: jsonObject scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.jsonObject - source: . scopes: - punctuation.separator.dot-access @@ -22177,12 +23561,14 @@ - punctuation.terminator.statement - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: env scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -22209,7 +23595,8 @@ - punctuation.separator.delimiter.comma - source: jsonBuf scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.jsonBuf - source: . scopes: - punctuation.separator.dot-access @@ -22258,7 +23645,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -22272,6 +23659,7 @@ - punctuation.separator.colon.range-based - source: context scopes: + - variable.lower-case - variable.other.unknown.context scopesEnd: - meta.parens.control.for @@ -22312,7 +23700,8 @@ - punctuation.section.parens.begin.bracket.round - source: path scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.path - source: . scopes: - punctuation.separator.dot-access @@ -22364,23 +23753,31 @@ scopesEnd: - comment.block - source: StorePathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: refs scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -22393,12 +23790,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -22424,6 +23823,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -22451,6 +23851,7 @@ - punctuation.separator.delimiter.comma - source: refs scopes: + - variable.lower-case - variable.other.unknown.refs - source: ) scopes: @@ -22470,7 +23871,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -22484,6 +23885,7 @@ - punctuation.separator.colon.range-based - source: refs scopes: + - variable.lower-case - variable.other.unknown.refs scopesEnd: - meta.parens.control.for @@ -22499,12 +23901,14 @@ - punctuation.section.block.begin.bracket.curly - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: inputSrcs scopes: + - variable.camel-case - variable.other.object.property - source: . scopes: @@ -22517,6 +23921,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: j scopes: + - variable.lower-case - variable.other.unknown.j - source: ) scopes: @@ -22534,7 +23939,8 @@ - punctuation.section.parens.begin.bracket.round - source: j scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.j - source: . scopes: - punctuation.separator.dot-access @@ -22554,7 +23960,8 @@ - meta.parens - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -22568,6 +23975,7 @@ - punctuation.definition.begin.bracket.square - source: j scopes: + - variable.lower-case - variable.other.unknown.j - source: ']' scopes: @@ -22579,12 +23987,14 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -22597,6 +24007,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: j scopes: + - variable.lower-case - variable.other.unknown.j - source: ) scopes: @@ -22650,7 +24061,8 @@ - punctuation.section.parens.begin.bracket.round - source: path scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.path - source: . scopes: - punctuation.separator.dot-access @@ -22691,16 +24103,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ctx + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: decodeContext scopes: - entity.name.function.call @@ -22712,7 +24131,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -22724,16 +24144,20 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -22747,7 +24171,8 @@ - punctuation.definition.begin.bracket.square - source: ctx scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ctx - source: . scopes: - punctuation.separator.dot-access @@ -22770,7 +24195,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ctx scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ctx - source: . scopes: - punctuation.separator.dot-access @@ -22804,12 +24230,14 @@ - keyword.control.else - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: inputSrcs scopes: + - variable.camel-case - variable.other.object.property - source: . scopes: @@ -22822,12 +24250,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -22840,6 +24270,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopesBegin: @@ -22876,7 +24307,8 @@ - punctuation.section.parens.begin.bracket.round - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -22903,7 +24335,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -22923,6 +24356,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -22953,13 +24387,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -22973,6 +24409,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -22999,7 +24436,8 @@ - punctuation.section.parens.begin.bracket.round - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -23026,7 +24464,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -23046,6 +24485,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -23076,13 +24516,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -23096,6 +24538,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -23139,6 +24582,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drvName scopes: + - variable.camel-case - variable.other.unknown.drvName - source: ) scopes: @@ -23150,7 +24594,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -23170,6 +24615,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -23200,6 +24646,7 @@ - punctuation.separator.delimiter.comma - source: drvExtension scopes: + - variable.camel-case - variable.other.unknown.drvExtension - source: ) scopes: @@ -23210,13 +24657,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -23230,6 +24679,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -23256,6 +24706,7 @@ - punctuation.section.parens.begin.bracket.round - source: outputHash scopes: + - variable.camel-case - variable.other.unknown.outputHash - source: ) scopes: @@ -23290,7 +24741,8 @@ - punctuation.section.parens.begin.bracket.round - source: outputs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.outputs - source: . scopes: - punctuation.separator.dot-access @@ -23322,7 +24774,8 @@ - punctuation.section.parens.begin.bracket.round - source: outputs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.outputs - source: . scopes: - punctuation.separator.dot-access @@ -23361,7 +24814,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -23381,6 +24835,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -23411,13 +24866,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -23431,6 +24888,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -23448,16 +24906,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: h + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: newHashAllowEmpty scopes: - entity.name.function.call @@ -23469,6 +24934,7 @@ - keyword.operator.arithmetic - source: outputHash scopes: + - variable.camel-case - variable.other.unknown.outputHash - source: ',' scopes: @@ -23481,30 +24947,40 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: outputHashAlgo scopes: + - variable.camel-case - variable.other.unknown.outputHashAlgo - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.call - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.call - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: method + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ingestionMethod scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.ingestionMethod - source: . scopes: - punctuation.separator.dot-access @@ -23527,28 +25003,39 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: outPath + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -23561,28 +25048,34 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: h scopes: + - variable.lower-case - variable.other.unknown.h - source: ',' scopes: - punctuation.separator.delimiter.comma - source: drvName scopes: + - variable.camel-case - variable.other.unknown.drvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -23615,12 +25108,14 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -23633,6 +25128,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: outPath scopes: + - variable.camel-case - variable.other.unknown.outPath - source: ) scopes: @@ -23642,12 +25138,14 @@ - punctuation.terminator.statement - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: outputs scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -23686,6 +25184,7 @@ - source: ' .' - source: hash scopes: + - variable.lower-case - variable.other.unknown.hash - source: '=' scopes: @@ -23697,12 +25196,14 @@ - source: ' .' - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: '=' scopes: - keyword.operator.assignment - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: ',' scopes: @@ -23710,6 +25211,7 @@ - source: ' .' - source: hash scopes: + - variable.lower-case - variable.other.unknown.hash - source: '=' scopes: @@ -23729,6 +25231,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: h scopes: + - variable.lower-case - variable.other.unknown.h - source: ) scopes: @@ -23765,12 +25268,14 @@ - punctuation.section.parens.begin.bracket.round - source: contentAddressed scopes: + - variable.camel-case - variable.other.unknown.contentAddressed - source: '||' scopes: - keyword.operator.logical - source: isImpure scopes: + - variable.camel-case - variable.other.unknown.isImpure - source: ) scopes: @@ -23792,12 +25297,14 @@ - punctuation.section.parens.begin.bracket.round - source: contentAddressed scopes: + - variable.camel-case - variable.other.unknown.contentAddressed - source: '&&' scopes: - keyword.operator.logical - source: isImpure scopes: + - variable.camel-case - variable.other.unknown.isImpure - source: ) scopes: @@ -23817,6 +25324,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -23847,13 +25355,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -23867,6 +25377,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -23881,16 +25392,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: ht + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: parseHashTypeOpt scopes: - entity.name.function.call @@ -23899,6 +25417,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: outputHashAlgo scopes: + - variable.camel-case - variable.other.unknown.outputHashAlgo - source: ) scopes: @@ -23914,27 +25433,38 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: htSHA256 scopes: + - variable.camel-case - variable.other.unknown.htSHA256 - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: method + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: ingestionMethod scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.ingestionMethod - source: . scopes: - punctuation.separator.dot-access @@ -23957,6 +25487,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -23972,7 +25504,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -23986,6 +25518,7 @@ - punctuation.separator.colon.range-based - source: outputs scopes: + - variable.lower-case - variable.other.unknown.outputs scopesEnd: - meta.parens.control.for @@ -24001,7 +25534,8 @@ - punctuation.section.block.begin.bracket.curly - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -24015,6 +25549,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -24032,6 +25567,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ) scopes: @@ -24049,6 +25585,7 @@ - punctuation.section.parens.begin.bracket.round - source: isImpure scopes: + - variable.camel-case - variable.other.unknown.isImpure - source: ) scopes: @@ -24057,12 +25594,14 @@ - meta.parens - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: outputs scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -24075,6 +25614,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ',' scopes: @@ -24093,12 +25633,14 @@ - source: ' .' - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: '=' scopes: - keyword.operator.assignment - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: ',' scopes: @@ -24106,12 +25648,14 @@ - source: ' .' - source: hashType scopes: + - variable.camel-case - variable.other.unknown.hashType - source: '=' scopes: - keyword.operator.assignment - source: ht scopes: + - variable.lower-case - variable.other.unknown.ht - source: ',' scopes: @@ -24128,12 +25672,14 @@ - keyword.control.else - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: outputs scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -24146,6 +25692,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ',' scopes: @@ -24164,12 +25711,14 @@ - source: ' .' - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: '=' scopes: - keyword.operator.assignment - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: ',' scopes: @@ -24177,12 +25726,14 @@ - source: ' .' - source: hashType scopes: + - variable.camel-case - variable.other.unknown.hashType - source: '=' scopes: - keyword.operator.assignment - source: ht scopes: + - variable.lower-case - variable.other.unknown.ht - source: ',' scopes: @@ -24240,7 +25791,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -24254,6 +25805,7 @@ - punctuation.separator.colon.range-based - source: outputs scopes: + - variable.lower-case - variable.other.unknown.outputs scopesEnd: - meta.parens.control.for @@ -24269,7 +25821,8 @@ - punctuation.section.block.begin.bracket.curly - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -24283,6 +25836,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -24307,12 +25861,14 @@ - punctuation.terminator.statement - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: outputs scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -24325,6 +25881,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ',' scopes: @@ -24352,16 +25909,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: hashModulo + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: hashDerivationModulo scopes: - entity.name.function.call @@ -24373,7 +25937,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -24391,6 +25956,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: drv scopes: + - variable.lower-case - variable.other.unknown.drv - source: ) scopes: @@ -24404,6 +25970,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -24420,7 +25988,8 @@ - punctuation.section.parens.begin.bracket.round.conditional.switch - source: hashModulo scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.hashModulo - source: . scopes: - punctuation.separator.dot-access @@ -24477,7 +26046,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -24491,6 +26060,7 @@ - punctuation.separator.colon.range-based - source: outputs scopes: + - variable.lower-case - variable.other.unknown.outputs scopesEnd: - meta.parens.control.for @@ -24505,16 +26075,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: h + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: get scopes: - entity.name.function.call @@ -24523,7 +26100,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: hashModulo scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.hashModulo - source: . scopes: - punctuation.separator.dot-access @@ -24535,10 +26113,13 @@ - punctuation.separator.delimiter.comma - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -24555,6 +26136,7 @@ - keyword.operator.logical - source: h scopes: + - variable.lower-case - variable.other.unknown.h - source: ) scopes: @@ -24574,6 +26156,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -24604,6 +26187,7 @@ - punctuation.separator.delimiter.comma - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ) scopes: @@ -24614,13 +26198,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -24634,6 +26220,7 @@ - punctuation.definition.begin.bracket.square - source: posDrvName scopes: + - variable.camel-case - variable.other.unknown.posDrvName - source: ']' scopes: @@ -24651,24 +26238,33 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: outPath + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -24681,6 +26277,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ',' scopes: @@ -24690,22 +26287,27 @@ - keyword.operator.arithmetic - source: h scopes: + - variable.lower-case - variable.other.unknown.h - source: ',' scopes: - punctuation.separator.delimiter.comma - source: drvName scopes: + - variable.camel-case - variable.other.unknown.drvName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -24719,6 +26321,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -24730,12 +26333,14 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -24748,6 +26353,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: outPath scopes: + - variable.camel-case - variable.other.unknown.outPath - source: ) scopes: @@ -24757,12 +26363,14 @@ - punctuation.terminator.statement - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: outputs scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -24775,6 +26383,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ',' scopes: @@ -24786,6 +26395,7 @@ - source: ' .' - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: '=' scopes: @@ -24805,6 +26415,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: outPath scopes: + - variable.camel-case - variable.other.unknown.outPath - source: ) scopes: @@ -24872,7 +26483,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -24886,6 +26497,7 @@ - punctuation.separator.colon.range-based - source: outputs scopes: + - variable.lower-case - variable.other.unknown.outputs scopesEnd: - meta.parens.control.for @@ -24901,12 +26513,14 @@ - punctuation.section.block.begin.bracket.curly - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: outputs scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -24919,6 +26533,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ',' scopes: @@ -24961,16 +26576,23 @@ scopesEnd: - comment.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: drvPath + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: writeDerivation scopes: - entity.name.function.call @@ -24982,7 +26604,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -24994,13 +26617,15 @@ - punctuation.separator.delimiter.comma - source: drv scopes: + - variable.lower-case - variable.other.unknown.drv - source: ',' scopes: - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -25010,28 +26635,39 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: drvPathS + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -25044,10 +26680,13 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPath scopes: + - variable.camel-case - variable.other.unknown.drvPath - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -25059,6 +26698,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: lvlChatty scopes: + - variable.camel-case - variable.other.unknown.lvlChatty - source: ',' scopes: @@ -25087,12 +26727,14 @@ - punctuation.separator.delimiter.comma - source: drvName scopes: + - variable.camel-case - variable.other.unknown.drvName - source: ',' scopes: - punctuation.separator.delimiter.comma - source: drvPathS scopes: + - variable.camel-case - variable.other.unknown.drvPathS - source: ) scopes: @@ -25119,16 +26761,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: h + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: hashDerivationModulo scopes: - entity.name.function.call @@ -25140,7 +26789,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -25152,6 +26802,7 @@ - punctuation.separator.delimiter.comma - source: drv scopes: + - variable.lower-case - variable.other.unknown.drv - source: ',' scopes: @@ -25162,12 +26813,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: drvHashes scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.drvHashes - source: . scopes: - punctuation.separator.dot-access @@ -25191,12 +26845,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPath scopes: + - variable.camel-case - variable.other.unknown.drvPath - source: ',' scopes: - punctuation.separator.delimiter.comma - source: h scopes: + - variable.lower-case - variable.other.unknown.h - source: ) scopes: @@ -25210,19 +26866,27 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -25240,12 +26904,14 @@ - keyword.operator.arithmetic - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access - source: outputs scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -25261,13 +26927,15 @@ - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -25279,7 +26947,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -25300,6 +26969,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: drvPathS scopes: + - variable.camel-case - variable.other.unknown.drvPathS - source: ',' scopes: @@ -25321,6 +26991,7 @@ - keyword.operator.arithmetic - source: drvPathS scopes: + - variable.camel-case - variable.other.unknown.drvPathS - source: '}' - source: ) @@ -25341,7 +27012,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -25355,7 +27026,8 @@ - punctuation.separator.colon.range-based - source: drv scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.drv - source: . scopes: - punctuation.separator.dot-access @@ -25377,30 +27049,35 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ',' scopes: - punctuation.separator.delimiter.comma - source: drvPath scopes: + - variable.camel-case - variable.other.unknown.drvPath - source: ',' scopes: - punctuation.separator.delimiter.comma - source: drv scopes: + - variable.lower-case - variable.other.unknown.drv - source: ',' scopes: - punctuation.separator.delimiter.comma - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ) scopes: @@ -25410,7 +27087,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -25422,6 +27100,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ) scopes: @@ -25439,7 +27118,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_derivationStrict scopesBegin: @@ -25454,7 +27133,7 @@ - meta.function.definition.parameters - meta.parameter - meta.initialization - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -25465,7 +27144,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.arguments.begin.bracket.curly.initializer @@ -25523,6 +27202,7 @@ - keyword.operator.assignment - source: prim_derivationStrict scopes: + - variable.snake-case - variable.other.unknown.prim_derivationStrict - source: ',' scopes: @@ -25569,7 +27249,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_placeholder @@ -25646,7 +27326,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -25664,7 +27345,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -25698,6 +27380,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -25721,7 +27404,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_placeholder scopesBegin: @@ -25816,6 +27499,7 @@ - keyword.operator.assignment - source: prim_placeholder scopes: + - variable.snake-case - variable.other.unknown.prim_placeholder - source: ',' scopes: @@ -25862,7 +27546,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_toPath @@ -25938,28 +27622,41 @@ - source: PathSet scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: Path + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -25971,6 +27668,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -25999,16 +27697,20 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -26026,6 +27728,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -26035,6 +27738,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -26052,7 +27756,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_toPath scopesBegin: @@ -26146,6 +27850,7 @@ - keyword.operator.assignment - source: prim_toPath scopes: + - variable.snake-case - variable.other.unknown.prim_toPath - source: ',' scopes: @@ -26188,7 +27893,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_storePath @@ -26273,7 +27978,8 @@ - punctuation.section.parens.begin.bracket.round - source: evalSettings scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.evalSettings - source: . scopes: - punctuation.separator.dot-access @@ -26287,7 +27993,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -26307,6 +28014,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -26355,13 +28063,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -26375,6 +28085,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -26392,28 +28103,42 @@ scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: Path + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -26425,7 +28150,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -26437,6 +28163,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -26465,12 +28192,14 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: @@ -26501,12 +28230,14 @@ - keyword.operator.logical - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -26519,6 +28250,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -26530,6 +28262,7 @@ - meta.parens - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: '=' scopes: @@ -26542,6 +28275,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: @@ -26568,12 +28302,14 @@ - keyword.operator.logical - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -26586,6 +28322,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -26597,7 +28334,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -26617,6 +28355,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -26647,6 +28386,7 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -26657,13 +28397,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -26677,6 +28419,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -26694,24 +28437,33 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path2 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -26724,6 +28476,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -26734,6 +28487,8 @@ - source: first scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -26750,7 +28505,8 @@ - keyword.operator.logical - source: settings scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.settings - source: . scopes: - punctuation.separator.dot-access @@ -26764,12 +28520,14 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -26782,6 +28540,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path2 scopes: + - variable.lower-case - variable.other.unknown.path2 - source: ) scopes: @@ -26791,7 +28550,8 @@ - punctuation.terminator.statement - source: context scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.context - source: . scopes: - punctuation.separator.dot-access @@ -26803,12 +28563,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -26821,6 +28583,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path2 scopes: + - variable.lower-case - variable.other.unknown.path2 - source: ) scopesBegin: @@ -26833,7 +28596,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -26845,12 +28609,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -26868,7 +28634,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_storePath scopesBegin: @@ -26969,6 +28735,7 @@ - keyword.operator.assignment - source: prim_storePath scopes: + - variable.snake-case - variable.other.unknown.prim_storePath - source: ',' scopes: @@ -26993,7 +28760,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_pathExists @@ -27084,16 +28851,23 @@ scopesEnd: - comment.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: realisePath scopes: - entity.name.function.call @@ -27102,12 +28876,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -27137,6 +28913,7 @@ - source: ' { .' - source: checkForPureEval scopes: + - variable.camel-case - variable.other.unknown.checkForPureEval - source: '=' scopes: @@ -27148,6 +28925,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -27161,7 +28940,8 @@ - punctuation.section.block.begin.bracket.curly - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -27179,7 +28959,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -27191,6 +28972,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -27225,6 +29007,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -27250,7 +29033,8 @@ - comment.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -27290,6 +29074,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -27303,7 +29088,8 @@ - punctuation.section.block.begin.bracket.curly - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -27337,7 +29123,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_pathExists scopesBegin: @@ -27431,6 +29217,7 @@ - keyword.operator.assignment - source: prim_pathExists scopes: + - variable.snake-case - variable.other.unknown.prim_pathExists - source: ',' scopes: @@ -27467,7 +29254,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_baseNameOf @@ -27543,18 +29330,24 @@ - source: PathSet scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -27575,7 +29368,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -27587,6 +29381,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -27615,6 +29410,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: @@ -27639,6 +29435,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -27656,7 +29453,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_baseNameOf scopesBegin: @@ -27751,6 +29548,7 @@ - keyword.operator.assignment - source: prim_baseNameOf scopes: + - variable.snake-case - variable.other.unknown.prim_baseNameOf - source: ',' scopes: @@ -27788,7 +29586,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_dirOf @@ -27864,29 +29662,42 @@ - source: PathSet scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -27898,6 +29709,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -27926,6 +29738,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: @@ -27942,20 +29755,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: dir + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: dirOf scopes: - entity.name.function.call @@ -27967,10 +29789,13 @@ - keyword.operator.arithmetic - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -28015,6 +29840,7 @@ - keyword.operator.comparison - source: nPath scopes: + - variable.camel-case - variable.other.unknown.nPath - source: ) scopes: @@ -28023,7 +29849,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -28035,6 +29862,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: dir scopes: + - variable.lower-case - variable.other.unknown.dir - source: ) scopes: @@ -28047,7 +29875,8 @@ - keyword.control.else - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -28059,12 +29888,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: dir scopes: + - variable.lower-case - variable.other.unknown.dir - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -28082,7 +29913,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_dirOf scopesBegin: @@ -28177,6 +30008,7 @@ - keyword.operator.assignment - source: prim_dirOf scopes: + - variable.snake-case - variable.other.unknown.prim_dirOf - source: ',' scopes: @@ -28212,7 +30044,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_readFile @@ -28288,16 +30120,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: realisePath scopes: - entity.name.function.call @@ -28306,12 +30144,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -28338,20 +30178,29 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: readFile scopes: - entity.name.function.call @@ -28360,10 +30209,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -28377,7 +30229,8 @@ - punctuation.section.parens.begin.bracket.round - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: . scopes: - punctuation.separator.dot-access @@ -28426,6 +30279,7 @@ - punctuation.separator.scope-resolution - source: npos scopes: + - variable.lower-case - variable.other.unknown.npos - source: ) scopes: @@ -28434,7 +30288,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -28470,6 +30325,7 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -28481,12 +30337,18 @@ scopes: - punctuation.terminator.statement - source: StorePathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: refs scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -28500,12 +30362,14 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -28518,6 +30382,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -28542,18 +30407,21 @@ - punctuation.section.block.begin.bracket.curly - source: refs scopes: + - variable.lower-case - variable.other.unknown.refs - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -28566,12 +30434,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -28584,6 +30454,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -28654,24 +30525,33 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: context + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -28684,16 +30564,20 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: refs scopes: + - variable.lower-case - variable.other.unknown.refs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -28705,12 +30589,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -28728,7 +30614,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_readFile scopesBegin: @@ -28821,6 +30707,7 @@ - keyword.operator.assignment - source: prim_readFile scopes: + - variable.snake-case - variable.other.unknown.prim_readFile - source: ',' scopes: @@ -28857,7 +30744,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_findFile @@ -28934,7 +30821,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -28968,6 +30856,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -28976,12 +30865,18 @@ scopes: - punctuation.terminator.statement - source: SearchPath + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: searchPath scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -28997,7 +30892,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: v2 @@ -29048,7 +30943,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29063,12 +30959,14 @@ - keyword.operator.arithmetic - source: v2 scopes: + - variable.lower-case - variable.other.unknown.v2 - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -29078,7 +30976,8 @@ - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -29089,16 +30988,21 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: prefix scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -29109,21 +31013,28 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: i + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -29136,7 +31047,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29146,6 +31058,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -29159,18 +31073,21 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -29191,13 +31108,15 @@ - meta.parens - source: prefix scopes: + - variable.lower-case - variable.other.unknown.prefix - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29212,7 +31131,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -29224,6 +31144,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -29233,6 +31154,7 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -29245,6 +31167,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -29265,7 +31188,8 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29277,7 +31201,8 @@ - punctuation.separator.delimiter.comma - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -29289,6 +31214,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -29297,29 +31223,43 @@ scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29331,6 +31271,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -29340,7 +31281,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -29352,6 +31294,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: @@ -29380,6 +31323,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -29392,19 +31337,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: rewrites + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29416,15 +31369,19 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: '=' scopes: @@ -29437,12 +31394,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: rewrites scopes: + - variable.lower-case - variable.other.unknown.rewrites - source: ) scopes: @@ -29471,6 +31430,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -29484,7 +31444,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29504,6 +31465,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -29538,13 +31500,15 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -29560,13 +31524,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29580,6 +31546,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -29603,7 +31570,8 @@ - meta.block - source: searchPath scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.searchPath - source: . scopes: - punctuation.separator.dot-access @@ -29615,12 +31583,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: prefix scopes: + - variable.lower-case - variable.other.unknown.prefix - source: ',' scopes: - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -29634,19 +31604,27 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29680,16 +31658,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -29701,7 +31683,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29713,7 +31696,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -29725,18 +31709,21 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: searchPath scopes: + - variable.camel-case - variable.other.unknown.searchPath - source: ',' scopes: - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -29758,7 +31745,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_findFile scopesBegin: @@ -29773,7 +31760,7 @@ - meta.function.definition.parameters - meta.parameter - meta.initialization - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -29784,7 +31771,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.arguments.begin.bracket.curly.initializer @@ -29842,6 +31829,7 @@ - keyword.operator.assignment - source: prim_findFile scopes: + - variable.snake-case - variable.other.unknown.prim_findFile - source: ',' scopes: @@ -29882,7 +31870,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_hashFile @@ -29958,19 +31946,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: type + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -30004,16 +31999,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -30030,20 +32029,25 @@ - punctuation.section.angle-brackets.begin.template.call - source: HashType scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ht + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: parseHashType scopes: - entity.name.function.call @@ -30052,10 +32056,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -30072,6 +32079,7 @@ - keyword.operator.logical - source: ht scopes: + - variable.lower-case - variable.other.unknown.ht - source: ) scopes: @@ -30080,7 +32088,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -30100,6 +32109,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -30130,6 +32140,7 @@ - punctuation.separator.delimiter.comma - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: ) scopes: @@ -30140,13 +32151,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -30160,6 +32173,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -30177,16 +32191,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: realisePath scopes: - entity.name.function.call @@ -30195,12 +32216,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -30227,12 +32250,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -30253,12 +32279,14 @@ - keyword.operator.arithmetic - source: ht scopes: + - variable.lower-case - variable.other.unknown.ht - source: ',' scopes: - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -30300,7 +32328,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_hashFile scopesBegin: @@ -30413,6 +32441,7 @@ - keyword.operator.assignment - source: prim_hashFile scopes: + - variable.snake-case - variable.other.unknown.prim_hashFile - source: ',' scopes: @@ -30448,7 +32477,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_readDir @@ -30524,16 +32553,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: realisePath scopes: - entity.name.function.call @@ -30542,12 +32577,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -30574,19 +32611,28 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: DirEntries + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: entries + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: readDirectory scopes: - entity.name.function.call @@ -30595,27 +32641,38 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -30627,7 +32684,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: entries scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.entries - source: . scopes: - punctuation.separator.dot-access @@ -30642,6 +32700,7 @@ - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: @@ -30658,7 +32717,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -30672,6 +32731,7 @@ - punctuation.separator.colon.range-based - source: entries scopes: + - variable.lower-case - variable.other.unknown.entries scopesEnd: - meta.parens.control.for @@ -30695,7 +32755,8 @@ - punctuation.section.parens.begin.bracket.round - source: ent scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ent - source: . scopes: - punctuation.separator.dot-access @@ -30707,6 +32768,7 @@ - keyword.operator.comparison - source: DT_UNKNOWN scopes: + - variable.snake-case - variable.other.unknown.DT_UNKNOWN - source: ) scopes: @@ -30715,7 +32777,8 @@ - meta.parens - source: ent scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ent - source: . scopes: - punctuation.separator.dot-access @@ -30733,6 +32796,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: + scopes: @@ -30753,7 +32817,8 @@ - keyword.operator.arithmetic - source: ent scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ent - source: . scopes: - punctuation.separator.dot-access @@ -30768,7 +32833,8 @@ - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -30780,7 +32846,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ent scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ent - source: . scopes: - punctuation.separator.dot-access @@ -30801,7 +32868,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: ent scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ent - source: . scopes: - punctuation.separator.dot-access @@ -30813,6 +32881,7 @@ - keyword.operator.comparison - source: DT_REG scopes: + - variable.snake-case - variable.other.unknown.DT_REG - source: '?' scopes: @@ -30833,7 +32902,8 @@ - keyword.operator.ternary - source: ent scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ent - source: . scopes: - punctuation.separator.dot-access @@ -30845,6 +32915,7 @@ - keyword.operator.comparison - source: DT_DIR scopes: + - variable.snake-case - variable.other.unknown.DT_DIR - source: '?' scopes: @@ -30865,7 +32936,8 @@ - keyword.operator.ternary - source: ent scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.ent - source: . scopes: - punctuation.separator.dot-access @@ -30877,6 +32949,7 @@ - keyword.operator.comparison - source: DT_LNK scopes: + - variable.snake-case - variable.other.unknown.DT_LNK - source: '?' scopes: @@ -30919,7 +32992,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -30931,6 +33005,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ) scopes: @@ -30948,7 +33023,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_readDir scopesBegin: @@ -31049,6 +33124,7 @@ - keyword.operator.assignment - source: prim_readDir scopes: + - variable.snake-case - variable.other.unknown.prim_readDir - source: ',' scopes: @@ -31097,7 +33173,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_toXML @@ -31173,7 +33249,8 @@ - source: std scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -31184,20 +33261,30 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: out scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -31209,6 +33296,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -31249,18 +33337,21 @@ - punctuation.separator.delimiter.comma - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -31270,7 +33361,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -31282,7 +33374,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: out scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.out - source: . scopes: - punctuation.separator.dot-access @@ -31300,6 +33393,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -31317,7 +33411,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_toXML scopesBegin: @@ -31488,6 +33582,7 @@ - keyword.operator.assignment - source: prim_toXML scopes: + - variable.snake-case - variable.other.unknown.prim_toXML - source: ',' scopes: @@ -31525,7 +33620,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_toJSON @@ -31601,7 +33696,8 @@ - source: std scopesBegin: - meta.body.function.definition - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -31612,20 +33708,30 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: out scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -31637,6 +33743,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -31671,18 +33778,21 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -31692,7 +33802,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -31704,7 +33815,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: out scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.out - source: . scopes: - punctuation.separator.dot-access @@ -31722,6 +33834,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -31739,7 +33852,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_toJSON scopesBegin: @@ -31837,6 +33950,7 @@ - keyword.operator.assignment - source: prim_toJSON scopes: + - variable.snake-case - variable.other.unknown.prim_toJSON - source: ',' scopes: @@ -31872,7 +33986,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_fromJSON @@ -31948,19 +34062,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -31994,10 +34115,13 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -32017,18 +34141,21 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -32057,6 +34184,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -32070,7 +34198,8 @@ - punctuation.section.block.begin.bracket.curly - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -32082,7 +34211,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -32096,6 +34226,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -32143,7 +34274,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_fromJSON scopesBegin: @@ -32240,6 +34371,7 @@ - keyword.operator.assignment - source: prim_fromJSON scopes: + - variable.snake-case - variable.other.unknown.prim_fromJSON - source: ',' scopes: @@ -32276,7 +34408,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_toFile @@ -32352,12 +34484,17 @@ - source: PathSet scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -32370,7 +34507,7 @@ - punctuation.separator.scope-resolution - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: name scopes: @@ -32380,7 +34517,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -32414,6 +34552,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -32433,7 +34572,7 @@ - punctuation.separator.scope-resolution - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: contents scopes: @@ -32443,7 +34582,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -32477,12 +34617,14 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -32494,12 +34636,18 @@ scopes: - punctuation.terminator.statement - source: StorePathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: refs scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -32515,7 +34663,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: path @@ -32526,6 +34674,7 @@ - punctuation.separator.colon.range-based - source: context scopes: + - variable.lower-case - variable.other.unknown.context scopesEnd: - meta.parens.control.for @@ -32549,7 +34698,8 @@ - punctuation.section.parens.begin.bracket.round - source: path scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.path - source: . scopes: - punctuation.separator.dot-access @@ -32586,7 +34736,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -32606,6 +34757,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -32647,12 +34799,14 @@ - punctuation.separator.delimiter.comma - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -32663,13 +34817,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -32683,6 +34839,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -32701,7 +34858,8 @@ - punctuation.terminator.statement - source: refs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.refs - source: . scopes: - punctuation.separator.dot-access @@ -32713,12 +34871,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -32731,6 +34891,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopesBegin: @@ -32747,19 +34908,27 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: storePath + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: settings scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.settings - source: . scopes: - punctuation.separator.dot-access @@ -32771,12 +34940,14 @@ - keyword.operator.ternary - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -32789,18 +34960,21 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma - source: contents scopes: + - variable.lower-case - variable.other.unknown.contents - source: ',' scopes: - punctuation.separator.delimiter.comma - source: refs scopes: + - variable.lower-case - variable.other.unknown.refs - source: ) scopes: @@ -32810,12 +34984,14 @@ - keyword.operator.ternary - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -32828,25 +35004,29 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma - source: contents scopes: + - variable.lower-case - variable.other.unknown.contents - source: ',' scopes: - punctuation.separator.delimiter.comma - source: refs scopes: + - variable.lower-case - variable.other.unknown.refs - source: ',' scopes: - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -32856,6 +35036,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -32881,7 +35063,8 @@ - comment.block - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -32893,12 +35076,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: storePath scopes: + - variable.camel-case - variable.other.unknown.storePath - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -32916,7 +35101,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_toFile scopesBegin: @@ -33083,6 +35268,7 @@ - keyword.operator.assignment - source: prim_toFile scopes: + - variable.snake-case - variable.other.unknown.prim_toFile - source: ',' scopes: @@ -33107,7 +35293,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: addPath @@ -33217,7 +35403,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Hash scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -33288,19 +35474,27 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: rewrites + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -33312,22 +35506,27 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -33345,12 +35544,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: rewrites scopes: + - variable.lower-case - variable.other.unknown.rewrites - source: ) scopes: @@ -33360,6 +35561,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -33368,12 +35570,18 @@ scopes: - punctuation.terminator.statement - source: StorePathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: refs scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -33387,12 +35595,14 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -33405,6 +35615,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -33438,12 +35649,14 @@ - punctuation.definition.begin.bracket.square - source: storePath scopes: + - variable.camel-case - variable.other.unknown.storePath - source: ',' scopes: - punctuation.separator.delimiter.comma - source: subPath scopes: + - variable.camel-case - variable.other.unknown.subPath - source: ']' scopes: @@ -33455,12 +35668,14 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -33473,6 +35688,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -33490,18 +35706,21 @@ - comment.line.double-slash - source: refs scopes: + - variable.lower-case - variable.other.unknown.refs - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -33514,6 +35733,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: storePath scopes: + - variable.camel-case - variable.other.unknown.storePath - source: ) scopes: @@ -33529,18 +35749,21 @@ - punctuation.terminator.statement - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -33553,6 +35776,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: storePath scopes: + - variable.camel-case - variable.other.unknown.storePath - source: ) scopes: @@ -33562,6 +35786,7 @@ - keyword.operator.arithmetic - source: subPath scopes: + - variable.camel-case - variable.other.unknown.subPath - source: ; scopes: @@ -33615,13 +35840,15 @@ - meta.block - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment - source: evalSettings scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.evalSettings - source: . scopes: - punctuation.separator.dot-access @@ -33633,19 +35860,22 @@ - keyword.operator.logical - source: expectedHash scopes: + - variable.camel-case - variable.other.unknown.expectedHash - source: '?' scopes: - keyword.operator.ternary - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ':' scopes: - keyword.operator.ternary - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -33657,6 +35887,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -33665,17 +35896,25 @@ scopes: - punctuation.terminator.statement - source: PathFilter + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: filter + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: filterFun scopes: + - variable.camel-case - variable.other.unknown.filterFun - source: '?' scopes: @@ -33732,6 +35971,7 @@ - storage.type.built-in.primitive - source: st scopes: + - variable.lower-case - variable.other.unknown.st - source: '=' scopes: @@ -33744,6 +35984,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -33768,13 +36009,15 @@ - variable.other.unknown.Value - source: arg1 scopes: + - variable.lower-case - variable.other.unknown.arg1 - source: ; scopes: - punctuation.terminator.statement - source: arg1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.arg1 - source: . scopes: - punctuation.separator.dot-access @@ -33786,6 +36029,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -33798,13 +36042,15 @@ - variable.other.unknown.Value - source: arg2 scopes: + - variable.lower-case - variable.other.unknown.arg2 - source: ; scopes: - punctuation.terminator.statement - source: arg2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.arg2 - source: . scopes: - punctuation.separator.dot-access @@ -33816,13 +36062,16 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: S_ISREG scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: st scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.st - source: . scopes: - punctuation.separator.dot-access @@ -33832,6 +36081,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '?' scopes: - keyword.operator.ternary @@ -33851,13 +36101,16 @@ - keyword.operator.ternary - source: S_ISDIR scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: st scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.st - source: . scopes: - punctuation.separator.dot-access @@ -33867,6 +36120,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '?' scopes: - keyword.operator.ternary @@ -33886,13 +36140,16 @@ - keyword.operator.ternary - source: S_ISLNK scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: st scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.st - source: . scopes: - punctuation.separator.dot-access @@ -33902,6 +36159,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '?' scopes: - keyword.operator.ternary @@ -33955,6 +36213,7 @@ - keyword.operator.arithmetic - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ' []' - source: '{' @@ -33967,6 +36226,7 @@ - keyword.operator.bitwise - source: arg1 scopes: + - variable.lower-case - variable.other.unknown.arg1 - source: ',' scopes: @@ -33976,6 +36236,7 @@ - keyword.operator.bitwise - source: arg2 scopes: + - variable.lower-case - variable.other.unknown.arg2 - source: '}' scopes: @@ -33990,13 +36251,15 @@ - variable.other.unknown.Value - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34011,6 +36274,7 @@ - keyword.operator.arithmetic - source: filterFun scopes: + - variable.camel-case - variable.other.unknown.filterFun - source: ',' scopes: @@ -34023,18 +36287,21 @@ - punctuation.separator.delimiter.comma - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ',' scopes: - punctuation.separator.delimiter.comma - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -34047,7 +36314,8 @@ - keyword.control.return - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34059,12 +36327,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -34087,13 +36357,17 @@ - keyword.operator.ternary - source: defaultPathFilter scopes: + - variable.camel-case - variable.other.unknown.defaultPathFilter + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -34110,17 +36384,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: StorePath scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: expectedStorePath scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -34134,6 +36412,7 @@ - punctuation.section.parens.begin.bracket.round - source: expectedHash scopes: + - variable.camel-case - variable.other.unknown.expectedHash - source: ) scopes: @@ -34142,18 +36421,21 @@ - meta.parens - source: expectedStorePath scopes: + - variable.camel-case - variable.other.unknown.expectedStorePath - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -34166,6 +36448,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: ',' scopes: @@ -34175,12 +36458,14 @@ - keyword.operator.arithmetic - source: expectedHash scopes: + - variable.camel-case - variable.other.unknown.expectedHash - source: ',' scopes: - punctuation.separator.delimiter.comma - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ) scopes: @@ -34201,6 +36486,7 @@ - keyword.operator.logical - source: expectedHash scopes: + - variable.camel-case - variable.other.unknown.expectedHash - source: '||' scopesBegin: @@ -34210,12 +36496,14 @@ - keyword.operator.logical - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -34231,6 +36519,7 @@ - keyword.operator.arithmetic - source: expectedStorePath scopes: + - variable.camel-case - variable.other.unknown.expectedStorePath - source: ) scopes: @@ -34246,18 +36535,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: StorePath + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: dstPath + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: settings scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.settings - source: . scopes: - punctuation.separator.dot-access @@ -34269,12 +36566,14 @@ - keyword.operator.ternary - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -34287,30 +36586,35 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: htSHA256 scopes: + - variable.camel-case - variable.other.unknown.htSHA256 - source: ',' scopes: - punctuation.separator.delimiter.comma - source: filter scopes: + - variable.lower-case - variable.other.unknown.filter - source: ) scopes: @@ -34326,12 +36630,14 @@ - keyword.operator.ternary - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: store scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -34344,37 +36650,43 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: htSHA256 scopes: + - variable.camel-case - variable.other.unknown.htSHA256 - source: ',' scopes: - punctuation.separator.delimiter.comma - source: filter scopes: + - variable.lower-case - variable.other.unknown.filter - source: ',' scopes: - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34386,10 +36698,13 @@ - punctuation.separator.delimiter.comma - source: refs scopes: + - variable.lower-case - variable.other.unknown.refs - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -34403,18 +36718,21 @@ - punctuation.section.parens.begin.bracket.round - source: expectedHash scopes: + - variable.camel-case - variable.other.unknown.expectedHash - source: '&&' scopes: - keyword.operator.logical - source: expectedStorePath scopes: + - variable.camel-case - variable.other.unknown.expectedStorePath - source: '!=' scopes: - keyword.operator.comparison - source: dstPath scopes: + - variable.camel-case - variable.other.unknown.dstPath - source: ) scopes: @@ -34423,7 +36741,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34459,6 +36778,7 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -34471,7 +36791,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34483,12 +36804,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: dstPath scopes: + - variable.camel-case - variable.other.unknown.dstPath - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -34506,7 +36829,8 @@ - keyword.control.else - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34521,12 +36845,14 @@ - keyword.operator.arithmetic - source: expectedStorePath scopes: + - variable.camel-case - variable.other.unknown.expectedStorePath - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -34555,6 +36881,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -34568,7 +36895,8 @@ - punctuation.section.block.begin.bracket.curly - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -34580,7 +36908,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34594,6 +36923,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -34623,6 +36953,7 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -34651,7 +36982,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_filterSource @@ -34727,28 +37058,41 @@ - source: PathSet scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: Path + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: path + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34760,6 +37104,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -34788,16 +37133,20 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34831,6 +37180,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -34879,6 +37229,7 @@ - keyword.operator.comparison - source: nFunction scopes: + - variable.camel-case - variable.other.unknown.nFunction - source: ) scopes: @@ -34887,7 +37238,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34907,6 +37259,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -34971,13 +37324,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -34991,6 +37346,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -35015,12 +37371,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -35046,6 +37404,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopesBegin: @@ -35058,6 +37417,7 @@ - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: @@ -35103,18 +37463,21 @@ - punctuation.separator.scope-resolution - source: nullopt scopes: + - variable.lower-case - variable.other.unknown.nullopt - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -35132,7 +37495,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_filterSource scopesBegin: @@ -35284,6 +37647,7 @@ - keyword.operator.assignment - source: prim_filterSource scopes: + - variable.snake-case - variable.other.unknown.prim_filterSource - source: ',' scopes: @@ -35308,7 +37672,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_path @@ -35385,7 +37749,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -35419,6 +37784,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -35427,18 +37793,25 @@ scopes: - punctuation.terminator.statement - source: Path + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: path scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -35449,43 +37822,63 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: name scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: Value + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: filterFun + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: nullptr scopes: - constant.language.nullptr + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: method + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: FileIngestionMethod scopes: - entity.name.scope-resolution @@ -35496,12 +37889,15 @@ - source: Recursive scopes: - variable.other.unknown.Recursive + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -35518,27 +37914,37 @@ - punctuation.section.angle-brackets.begin.template.call - source: Hash scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: expectedHash scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -35554,7 +37960,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -35604,19 +38010,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: 'n' + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -35630,7 +38044,8 @@ - punctuation.definition.begin.bracket.square - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -35641,6 +38056,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -35655,6 +38071,7 @@ - punctuation.section.parens.begin.bracket.round - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '==' scopes: @@ -35677,13 +38094,15 @@ - meta.parens - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -35695,7 +38114,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -35710,7 +38130,8 @@ - keyword.operator.arithmetic - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -35722,6 +38143,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -35742,7 +38164,8 @@ - punctuation.section.parens.begin.bracket.round - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -35754,7 +38177,8 @@ - keyword.operator.comparison - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -35768,13 +38192,15 @@ - meta.parens - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -35789,7 +38215,8 @@ - keyword.operator.arithmetic - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -35801,7 +38228,8 @@ - punctuation.separator.delimiter.comma - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -35827,6 +38255,7 @@ - punctuation.section.parens.begin.bracket.round - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '==' scopes: @@ -35854,7 +38283,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -35869,7 +38299,8 @@ - keyword.operator.arithmetic - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -35881,6 +38312,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -35890,13 +38322,15 @@ - punctuation.terminator.statement - source: filterFun scopes: + - variable.camel-case - variable.other.unknown.filterFun - source: '=' scopes: - keyword.operator.assignment - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -35924,6 +38358,7 @@ - punctuation.section.parens.begin.bracket.round - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '==' scopes: @@ -35946,6 +38381,7 @@ - meta.parens - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: '=' scopes: @@ -35960,7 +38396,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -35975,7 +38412,8 @@ - keyword.operator.arithmetic - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -35987,7 +38425,8 @@ - punctuation.separator.delimiter.comma - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -36018,6 +38457,7 @@ - punctuation.section.parens.begin.bracket.round - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '==' scopes: @@ -36040,6 +38480,7 @@ - meta.parens - source: expectedHash scopes: + - variable.camel-case - variable.other.unknown.expectedHash - source: '=' scopes: @@ -36052,7 +38493,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -36067,7 +38509,8 @@ - keyword.operator.arithmetic - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -36079,7 +38522,8 @@ - punctuation.separator.delimiter.comma - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -36094,6 +38538,7 @@ - punctuation.separator.delimiter.comma - source: htSHA256 scopes: + - variable.camel-case - variable.other.unknown.htSHA256 - source: ) scopes: @@ -36106,7 +38551,8 @@ - keyword.control.else - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -36126,6 +38572,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -36156,7 +38603,8 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -36170,7 +38618,8 @@ - punctuation.definition.begin.bracket.square - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -36191,13 +38640,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -36211,7 +38662,8 @@ - punctuation.definition.begin.bracket.square - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -36248,7 +38700,8 @@ - punctuation.section.parens.begin.bracket.round - source: path scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.path - source: . scopes: - punctuation.separator.dot-access @@ -36268,7 +38721,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -36288,6 +38742,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -36318,13 +38773,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -36338,6 +38795,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -36364,7 +38822,8 @@ - punctuation.section.parens.begin.bracket.round - source: name scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.name - source: . scopes: - punctuation.separator.dot-access @@ -36384,6 +38843,7 @@ - meta.parens - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: '=' scopes: @@ -36396,6 +38856,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -36411,54 +38872,63 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ',' scopes: - punctuation.separator.delimiter.comma - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ',' scopes: - punctuation.separator.delimiter.comma - source: filterFun scopes: + - variable.camel-case - variable.other.unknown.filterFun - source: ',' scopes: - punctuation.separator.delimiter.comma - source: method scopes: + - variable.lower-case - variable.other.unknown.method - source: ',' scopes: - punctuation.separator.delimiter.comma - source: expectedHash scopes: + - variable.camel-case - variable.other.unknown.expectedHash - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -36476,7 +38946,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_path scopesBegin: @@ -36590,6 +39060,7 @@ - keyword.operator.assignment - source: prim_path scopes: + - variable.snake-case - variable.other.unknown.prim_path - source: ',' scopes: @@ -36637,7 +39108,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_attrNames @@ -36714,7 +39185,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -36748,6 +39220,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -36757,7 +39230,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -36769,6 +39243,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: @@ -36794,6 +39269,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -36820,51 +39296,71 @@ scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: symbolTable + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: symbols scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: 'n' + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -36875,13 +39371,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: staticId + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -36892,13 +39393,15 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -36909,13 +39412,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: dynamicId + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -36926,6 +39434,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -36941,7 +39450,7 @@ - source: nix scopesBegin: - meta.parens.control.for - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -36952,7 +39461,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -37000,45 +39509,62 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: symbol + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access - source: name scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: name + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -37062,6 +39588,7 @@ - punctuation.definition.begin.bracket.square - source: symbol scopes: + - variable.lower-case - variable.other.unknown.symbol - source: ']' scopes: @@ -37071,6 +39598,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -37084,24 +39613,28 @@ - punctuation.section.parens.begin.bracket.round - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison - source: staticId scopes: + - variable.camel-case - variable.other.unknown.staticId - source: '||' scopes: - keyword.operator.logical - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison - source: dynamicId scopes: + - variable.camel-case - variable.other.unknown.dynamicId - source: ) scopes: @@ -37131,7 +39664,8 @@ - punctuation.section.parens.begin.bracket.round - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -37151,6 +39685,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ++ scopes: @@ -37165,7 +39700,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -37194,7 +39730,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -37208,7 +39745,8 @@ - punctuation.definition.begin.bracket.square - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -37246,7 +39784,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -37264,7 +39803,8 @@ - punctuation.separator.delimiter.comma - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -37282,6 +39822,7 @@ - keyword.operator.arithmetic - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ',' scopes: @@ -37343,12 +39884,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: v1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v1 - source: '->' scopes: - punctuation.separator.pointer-access - source: string scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -37361,12 +39904,14 @@ - punctuation.separator.delimiter.comma - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access - source: string scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -37407,7 +39952,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_attrNames scopesBegin: @@ -37502,6 +40047,7 @@ - keyword.operator.assignment - source: prim_attrNames scopes: + - variable.snake-case - variable.other.unknown.prim_attrNames - source: ',' scopes: @@ -37538,7 +40084,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_attrValues @@ -37615,7 +40161,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -37649,6 +40196,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -37658,7 +40206,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -37670,6 +40219,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: @@ -37695,6 +40245,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -37722,58 +40273,78 @@ - punctuation.terminator.statement - source: unsigned scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: 'n' + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: symbolTable + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: symbols scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -37784,13 +40355,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: staticId + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -37801,16 +40377,19 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: std scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -37821,13 +40400,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: dynamicId + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '"' scopesBegin: - string.quoted.double @@ -37838,6 +40422,7 @@ scopes: - punctuation.definition.string.end scopesEnd: + - meta.assignment - string.quoted.double - source: ; scopes: @@ -37853,7 +40438,7 @@ - source: nix scopesBegin: - meta.parens.control.for - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -37864,7 +40449,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '&' scopes: - storage.modifier.reference @@ -37912,45 +40497,62 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: symbol + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access - source: name scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: name + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -37974,6 +40576,7 @@ - punctuation.definition.begin.bracket.square - source: symbol scopes: + - variable.lower-case - variable.other.unknown.symbol - source: ']' scopes: @@ -37983,6 +40586,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -37996,24 +40601,28 @@ - punctuation.section.parens.begin.bracket.round - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison - source: staticId scopes: + - variable.camel-case - variable.other.unknown.staticId - source: '||' scopes: - keyword.operator.logical - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: '==' scopes: - keyword.operator.comparison - source: dynamicId scopes: + - variable.camel-case - variable.other.unknown.dynamicId - source: ) scopes: @@ -38038,7 +40647,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -38058,6 +40668,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ++ scopes: @@ -38091,6 +40702,7 @@ - keyword.operator.bitwise - source: attr scopes: + - variable.lower-case - variable.other.unknown.attr - source: ; scopes: @@ -38115,7 +40727,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -38133,7 +40746,8 @@ - punctuation.separator.delimiter.comma - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -38151,6 +40765,7 @@ - keyword.operator.arithmetic - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ',' scopes: @@ -38214,16 +40829,19 @@ - punctuation.separator.scope-resolution - source: string_view scopes: + - variable.snake-case - variable.other.unknown.string_view - source: s1 scopes: + - variable.lower-case - variable.other.unknown.s1 - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -38258,6 +40876,7 @@ - meta.parens - source: v1 scopes: + - variable.lower-case - variable.other.unknown.v1 - source: ) scopes: @@ -38280,13 +40899,15 @@ - punctuation.separator.delimiter.comma - source: s2 scopes: + - variable.lower-case - variable.other.unknown.s2 - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -38321,6 +40942,7 @@ - meta.parens - source: v2 scopes: + - variable.lower-case - variable.other.unknown.v2 - source: ) scopes: @@ -38346,12 +40968,14 @@ - keyword.control.return - source: s1 scopes: + - variable.lower-case - variable.other.unknown.s1 - source: < scopes: - keyword.operator.comparison - source: s2 scopes: + - variable.lower-case - variable.other.unknown.s2 - source: ; scopes: @@ -38386,6 +41010,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -38398,12 +41023,14 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ; scopes: @@ -38413,6 +41040,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -38423,7 +41051,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -38443,6 +41072,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -38475,7 +41105,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -38495,6 +41126,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -38525,7 +41157,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_attrValues scopesBegin: @@ -38619,6 +41251,7 @@ - keyword.operator.assignment - source: prim_attrValues scopes: + - variable.snake-case - variable.other.unknown.prim_attrValues - source: ',' scopes: @@ -38651,7 +41284,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_getAttr @@ -38727,19 +41360,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -38773,16 +41413,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -38816,6 +41460,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -38825,7 +41470,8 @@ - punctuation.terminator.statement - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -38836,13 +41482,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: i + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: getAttr scopes: - entity.name.function.call @@ -38851,6 +41502,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -38871,12 +41523,14 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: symbols scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -38889,6 +41543,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attr scopes: + - variable.lower-case - variable.other.unknown.attr - source: ) scopes: @@ -38923,10 +41578,13 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -38948,7 +41606,8 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -38960,7 +41619,8 @@ - keyword.operator.logical - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -38974,7 +41634,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -38988,7 +41649,8 @@ - punctuation.definition.begin.bracket.square - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -39008,7 +41670,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -39023,7 +41686,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -39035,6 +41699,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -39044,6 +41709,7 @@ - punctuation.terminator.statement - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: '=' scopes: @@ -39053,7 +41719,8 @@ - keyword.operator.arithmetic - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -39073,7 +41740,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_getAttr scopesBegin: @@ -39187,6 +41854,7 @@ - keyword.operator.assignment - source: prim_getAttr scopes: + - variable.snake-case - variable.other.unknown.prim_getAttr - source: ',' scopes: @@ -39222,7 +41890,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_unsafeGetAttrPos @@ -39298,19 +41966,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -39344,16 +42019,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -39387,6 +42066,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -39396,7 +42076,8 @@ - punctuation.terminator.statement - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -39407,13 +42088,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: i + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -39435,6 +42121,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -39447,12 +42134,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: symbols scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -39465,12 +42154,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attr scopes: + - variable.lower-case - variable.other.unknown.attr - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: @@ -39485,6 +42176,7 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '==' scopes: @@ -39510,6 +42202,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -39530,7 +42223,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -39551,7 +42245,8 @@ - keyword.control.else - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -39563,13 +42258,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -39592,7 +42289,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_unsafeGetAttrPos scopesBegin: @@ -39607,7 +42304,7 @@ - meta.function.definition.parameters - meta.parameter - meta.initialization - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -39618,7 +42315,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: '{' scopes: - punctuation.section.arguments.begin.bracket.curly.initializer @@ -39676,6 +42373,7 @@ - keyword.operator.assignment - source: prim_unsafeGetAttrPos scopes: + - variable.snake-case - variable.other.unknown.prim_unsafeGetAttrPos - source: ',' scopes: @@ -39716,7 +42414,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_hasAttr @@ -39792,19 +42490,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attr + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -39838,16 +42543,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -39881,6 +42590,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -39890,7 +42600,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -39921,6 +42632,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -39933,12 +42645,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: symbols scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -39951,6 +42665,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attr scopes: + - variable.lower-case - variable.other.unknown.attr - source: ) scopesBegin: @@ -39982,6 +42697,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -40011,7 +42727,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_hasAttr scopesBegin: @@ -40124,6 +42840,7 @@ - keyword.operator.assignment - source: prim_hasAttr scopes: + - variable.snake-case - variable.other.unknown.prim_hasAttr - source: ',' scopes: @@ -40159,7 +42876,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_isAttrs @@ -40236,7 +42953,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -40270,6 +42988,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -40279,7 +42998,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -40322,6 +43042,7 @@ - keyword.operator.comparison - source: nAttrs scopes: + - variable.camel-case - variable.other.unknown.nAttrs - source: ) scopes: @@ -40339,7 +43060,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_isAttrs scopesBegin: @@ -40432,6 +43153,7 @@ - keyword.operator.assignment - source: prim_isAttrs scopes: + - variable.snake-case - variable.other.unknown.prim_isAttrs - source: ',' scopes: @@ -40456,7 +43178,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_removeAttrs @@ -40533,7 +43255,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -40567,6 +43290,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -40576,7 +43300,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -40610,6 +43335,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -40632,7 +43358,8 @@ - comment.block - source: boost scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -40656,7 +43383,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Attr scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -40668,17 +43395,22 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: names scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -40734,7 +43466,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem @@ -40785,7 +43517,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -40800,12 +43533,14 @@ - keyword.operator.arithmetic - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -40815,7 +43550,8 @@ - punctuation.terminator.statement - source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -40827,12 +43563,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: symbols scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -40845,12 +43583,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: elem scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.elem - source: '->' scopes: - punctuation.separator.pointer-access - source: string scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -40893,7 +43633,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -40911,7 +43652,8 @@ - punctuation.separator.delimiter.comma - source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -40944,19 +43686,27 @@ scopesEnd: - comment.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -40987,6 +43737,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -41002,6 +43753,7 @@ - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: @@ -41040,6 +43792,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -41077,6 +43830,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -41095,7 +43849,8 @@ - punctuation.separator.delimiter.comma - source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -41113,7 +43868,8 @@ - punctuation.separator.delimiter.comma - source: names scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.names - source: . scopes: - punctuation.separator.dot-access @@ -41144,6 +43900,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ) scopesBegin: @@ -41156,7 +43913,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -41168,7 +43926,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -41197,7 +43956,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_removeAttrs scopesBegin: @@ -41313,6 +44072,7 @@ - keyword.operator.assignment - source: prim_removeAttrs scopes: + - variable.snake-case - variable.other.unknown.prim_removeAttrs - source: ',' scopes: @@ -41352,7 +44112,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_listToAttrs @@ -41429,7 +44189,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -41463,6 +44224,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -41471,19 +44233,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -41523,13 +44293,15 @@ - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -41546,17 +44318,21 @@ - punctuation.section.angle-brackets.begin.template.call - source: Symbol scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: seen scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -41572,7 +44348,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: v2 @@ -41623,7 +44399,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -41638,12 +44415,14 @@ - keyword.operator.arithmetic - source: v2 scopes: + - variable.lower-case - variable.other.unknown.v2 - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -41653,7 +44432,8 @@ - punctuation.terminator.statement - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -41664,13 +44444,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: j + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: getAttr scopes: - entity.name.function.call @@ -41679,6 +44464,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -41699,7 +44485,8 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -41711,7 +44498,8 @@ - punctuation.separator.delimiter.comma - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -41723,27 +44511,38 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: name + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -41758,7 +44557,8 @@ - keyword.operator.arithmetic - source: j scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.j - source: '->' scopes: - punctuation.separator.pointer-access @@ -41770,7 +44570,8 @@ - punctuation.separator.delimiter.comma - source: j scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.j - source: '->' scopes: - punctuation.separator.pointer-access @@ -41780,28 +44581,39 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: sym + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: symbols scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -41814,10 +44626,13 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -41831,7 +44646,8 @@ - punctuation.section.parens.begin.bracket.round - source: seen scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.seen - source: . scopes: - punctuation.separator.dot-access @@ -41843,6 +44659,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: sym scopes: + - variable.lower-case - variable.other.unknown.sym - source: ) scopes: @@ -41865,7 +44682,8 @@ - punctuation.section.block.begin.bracket.curly - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -41876,13 +44694,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: j2 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: getAttr scopes: - entity.name.function.call @@ -41891,6 +44714,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: @@ -41911,7 +44735,8 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -41923,7 +44748,8 @@ - punctuation.separator.delimiter.comma - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -41935,16 +44761,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -41956,13 +44786,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: sym scopes: + - variable.lower-case - variable.other.unknown.sym - source: ',' scopes: - punctuation.separator.delimiter.comma - source: j2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.j2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -41974,7 +44806,8 @@ - punctuation.separator.delimiter.comma - source: j2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.j2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -41999,7 +44832,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -42011,6 +44845,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ) scopes: @@ -42028,7 +44863,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_listToAttrs scopesBegin: @@ -42134,6 +44969,7 @@ - keyword.operator.assignment - source: prim_listToAttrs scopes: + - variable.snake-case - variable.other.unknown.prim_listToAttrs - source: ',' scopes: @@ -42158,7 +44994,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_intersectAttrs @@ -42235,7 +45071,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -42269,6 +45106,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -42278,7 +45116,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -42312,6 +45151,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -42320,19 +45160,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -42376,6 +45224,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -42413,6 +45262,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -42432,6 +45282,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -42447,7 +45299,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -42498,7 +45350,8 @@ - punctuation.section.block.begin.bracket.curly - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -42509,13 +45362,18 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: j + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -42537,6 +45395,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -42549,7 +45408,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access @@ -42559,6 +45419,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -42572,6 +45434,7 @@ - punctuation.section.parens.begin.bracket.round - source: j scopes: + - variable.lower-case - variable.other.unknown.j - source: '!=' scopes: @@ -42597,6 +45460,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -42617,7 +45481,8 @@ - meta.parens - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -42632,6 +45497,7 @@ - keyword.operator.arithmetic - source: j scopes: + - variable.lower-case - variable.other.unknown.j - source: ) scopes: @@ -42646,7 +45512,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -42658,7 +45525,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -42687,7 +45555,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_intersectAttrs scopesBegin: @@ -42799,6 +45667,7 @@ - keyword.operator.assignment - source: prim_intersectAttrs scopes: + - variable.snake-case - variable.other.unknown.prim_intersectAttrs - source: ',' scopes: @@ -42823,7 +45692,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_catAttrs @@ -42899,24 +45768,32 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrName + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: symbols scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -42929,7 +45806,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -42963,19 +45841,22 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -43009,6 +45890,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -43068,23 +45950,31 @@ - punctuation.terminator.statement - source: unsigned scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: found + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -43100,7 +45990,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: v2 @@ -43151,7 +46041,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -43166,12 +46057,14 @@ - keyword.operator.arithmetic - source: v2 scopes: + - variable.lower-case - variable.other.unknown.v2 - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -43181,7 +46074,8 @@ - punctuation.terminator.statement - source: Bindings scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -43192,21 +46086,28 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: i + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -43219,10 +46120,13 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrName scopes: + - variable.camel-case - variable.other.unknown.attrName - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -43236,18 +46140,21 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison - source: v2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v2 - source: '->' scopes: - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -43276,6 +46183,7 @@ - punctuation.definition.begin.bracket.square - source: found scopes: + - variable.lower-case - variable.other.unknown.found - source: ++ scopes: @@ -43290,7 +46198,8 @@ - keyword.operator.assignment - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -43307,7 +46216,8 @@ - meta.block - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -43319,12 +46229,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: found scopes: + - variable.lower-case - variable.other.unknown.found - source: ) scopes: @@ -43351,6 +46263,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -43363,12 +46276,14 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: found scopes: + - variable.lower-case - variable.other.unknown.found - source: ; scopes: @@ -43378,6 +46293,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -43388,7 +46304,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -43408,6 +46325,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -43427,6 +46345,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -43446,7 +46365,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_catAttrs scopesBegin: @@ -43563,6 +46482,7 @@ - keyword.operator.assignment - source: prim_catAttrs scopes: + - variable.snake-case - variable.other.unknown.prim_catAttrs - source: ',' scopes: @@ -43587,7 +46507,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_functionArgs @@ -43664,7 +46584,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -43698,6 +46619,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -43784,7 +46706,8 @@ - punctuation.section.block.begin.bracket.curly - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -43799,7 +46722,8 @@ - keyword.operator.bitwise - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -43869,7 +46793,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -43889,6 +46814,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -43919,13 +46845,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -43939,6 +46867,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -43987,12 +46916,14 @@ - punctuation.separator.pointer-access - source: lambda scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: - punctuation.separator.dot-access - source: fun scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -44018,7 +46949,8 @@ - punctuation.section.block.begin.bracket.curly - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -44033,7 +46965,8 @@ - keyword.operator.bitwise - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -44058,19 +46991,27 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -44101,24 +47042,28 @@ - punctuation.separator.pointer-access - source: lambda scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: - punctuation.separator.dot-access - source: fun scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: - punctuation.separator.pointer-access - source: formals scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: - punctuation.separator.pointer-access - source: formals scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -44134,6 +47079,7 @@ - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: @@ -44150,7 +47096,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -44183,18 +47129,21 @@ - punctuation.separator.pointer-access - source: lambda scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: - punctuation.separator.dot-access - source: fun scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: - punctuation.separator.pointer-access - source: formals scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -44219,7 +47168,8 @@ - comment.line.double-slash - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -44231,7 +47181,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access @@ -44243,7 +47194,8 @@ - punctuation.separator.delimiter.comma - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access @@ -44264,7 +47216,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access @@ -44279,7 +47232,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -44291,6 +47245,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ) scopes: @@ -44308,7 +47263,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_functionArgs scopesBegin: @@ -44408,6 +47363,7 @@ - keyword.operator.assignment - source: prim_functionArgs scopes: + - variable.snake-case - variable.other.unknown.prim_functionArgs - source: ',' scopes: @@ -44442,7 +47398,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_mapAttrs @@ -44519,7 +47475,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -44553,6 +47510,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -44561,19 +47519,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -44604,6 +47570,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -44619,6 +47586,7 @@ - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: @@ -44635,7 +47603,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -44685,21 +47653,29 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: Value + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: vName + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -44712,25 +47688,35 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: Value + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: vFun2 + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -44743,12 +47729,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: vName scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.vName - source: '->' scopes: - punctuation.separator.pointer-access @@ -44760,7 +47749,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -44774,7 +47764,8 @@ - punctuation.definition.begin.bracket.square - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access @@ -44794,7 +47785,8 @@ - punctuation.terminator.statement - source: vFun2 scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.vFun2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -44825,6 +47817,7 @@ - punctuation.separator.delimiter.comma - source: vName scopes: + - variable.camel-case - variable.other.unknown.vName - source: ) scopes: @@ -44834,7 +47827,8 @@ - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -44846,7 +47840,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access @@ -44867,13 +47862,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vFun2 scopes: + - variable.camel-case - variable.other.unknown.vFun2 - source: ',' scopes: - punctuation.separator.delimiter.comma - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access @@ -44893,7 +47890,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -44905,7 +47903,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -44934,7 +47933,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_mapAttrs scopesBegin: @@ -45049,6 +48048,7 @@ - keyword.operator.assignment - source: prim_mapAttrs scopes: + - variable.snake-case - variable.other.unknown.prim_mapAttrs - source: ',' scopes: @@ -45073,7 +48073,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_zipAttrsWith @@ -45177,7 +48177,8 @@ - comment.line.double-slash - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -45194,7 +48195,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: Symbol scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -45208,7 +48209,7 @@ - punctuation.separator.scope-resolution.template.call - source: pair scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -45225,7 +48226,7 @@ - punctuation.separator.delimiter.comma.template.argument - source: Value scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopesBegin: @@ -45237,23 +48238,28 @@ scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: attrsSeen scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -45287,6 +48293,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -45296,7 +48303,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -45330,6 +48338,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -45338,19 +48347,26 @@ scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: listSize + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -45379,23 +48395,32 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: listElems + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -45424,6 +48449,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -45446,6 +48473,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -45458,12 +48486,14 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: listSize scopes: + - variable.camel-case - variable.other.unknown.listSize - source: ; scopes: @@ -45473,6 +48503,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -45487,18 +48518,25 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: Value + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: vElem + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: listElems scopesBegin: - meta.bracket.square.access @@ -45509,11 +48547,13 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -45528,7 +48568,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -45543,12 +48584,14 @@ - keyword.operator.arithmetic - source: vElem scopes: + - variable.camel-case - variable.other.unknown.vElem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: noPos scopes: + - variable.camel-case - variable.other.unknown.noPos - source: ) scopes: @@ -45568,7 +48611,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -45585,7 +48628,8 @@ - keyword.operator.arithmetic - source: vElem scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.vElem - source: '->' scopes: - punctuation.separator.pointer-access @@ -45609,7 +48653,8 @@ - punctuation.definition.begin.bracket.square - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -45654,6 +48699,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -45667,7 +48713,8 @@ - punctuation.section.block.begin.bracket.curly - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -45679,7 +48726,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -45693,6 +48741,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -45748,7 +48797,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -45760,6 +48810,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -45778,19 +48829,27 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -45802,7 +48861,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrsSeen scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.attrsSeen - source: . scopes: - punctuation.separator.dot-access @@ -45817,6 +48877,7 @@ - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: @@ -45834,7 +48895,7 @@ - meta.parens.control.for - meta.binding scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -45862,6 +48923,7 @@ - meta.binding - source: attrsSeen scopes: + - variable.camel-case - variable.other.unknown.attrsSeen scopesEnd: - meta.parens.control.for @@ -45876,22 +48938,30 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: list + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -45903,16 +48973,20 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: sym scopes: + - variable.lower-case - variable.other.unknown.sym - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -45924,13 +48998,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: list scopes: + - variable.lower-case - variable.other.unknown.list - source: ',' scopes: - punctuation.separator.delimiter.comma - source: elem scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.elem - source: . scopes: - punctuation.separator.dot-access @@ -45945,7 +49021,8 @@ - punctuation.terminator.statement - source: elem scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.elem - source: . scopes: - punctuation.separator.dot-access @@ -45957,7 +49034,8 @@ - keyword.operator.assignment - source: list scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.list - source: . scopes: - punctuation.separator.dot-access @@ -45980,7 +49058,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -45992,7 +49071,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -46030,6 +49110,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -46042,12 +49123,14 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: listSize scopes: + - variable.camel-case - variable.other.unknown.listSize - source: ; scopes: @@ -46057,6 +49140,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -46071,18 +49155,25 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: Value + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: vElem + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: listElems scopesBegin: - meta.bracket.square.access @@ -46093,11 +49184,13 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -46114,7 +49207,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -46131,7 +49224,8 @@ - keyword.operator.arithmetic - source: vElem scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.vElem - source: '->' scopes: - punctuation.separator.pointer-access @@ -46158,7 +49252,8 @@ - punctuation.definition.begin.bracket.square - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -46184,7 +49279,8 @@ - keyword.operator.assignment - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -46211,7 +49307,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -46228,7 +49324,8 @@ - keyword.operator.arithmetic - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -46248,19 +49345,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: name + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -46273,12 +49378,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: name scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.name - source: '->' scopes: - punctuation.separator.pointer-access @@ -46290,7 +49398,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -46304,7 +49413,8 @@ - punctuation.definition.begin.bracket.square - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -46323,19 +49433,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: call1 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -46348,12 +49466,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: call1 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.call1 - source: '->' scopes: - punctuation.separator.pointer-access @@ -46384,6 +49505,7 @@ - punctuation.separator.delimiter.comma - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ) scopes: @@ -46392,19 +49514,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: call2 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -46417,12 +49547,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: call2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.call2 - source: '->' scopes: - punctuation.separator.pointer-access @@ -46434,13 +49567,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: call1 scopes: + - variable.lower-case - variable.other.unknown.call1 - source: ',' scopes: - punctuation.separator.delimiter.comma - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -46455,7 +49590,8 @@ - punctuation.terminator.statement - source: attr scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attr - source: . scopes: - punctuation.separator.dot-access @@ -46467,6 +49603,7 @@ - keyword.operator.assignment - source: call2 scopes: + - variable.lower-case - variable.other.unknown.call2 - source: ; scopes: @@ -46486,7 +49623,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_zipAttrsWith scopesBegin: @@ -46615,6 +49752,7 @@ - keyword.operator.assignment - source: prim_zipAttrsWith scopes: + - variable.snake-case - variable.other.unknown.prim_zipAttrsWith - source: ',' scopes: @@ -46661,7 +49799,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_isList @@ -46738,7 +49876,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -46772,6 +49911,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -46781,7 +49921,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -46824,6 +49965,7 @@ - keyword.operator.comparison - source: nList scopes: + - variable.camel-case - variable.other.unknown.nList - source: ) scopes: @@ -46841,7 +49983,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_isList scopesBegin: @@ -46934,6 +50076,7 @@ - keyword.operator.assignment - source: prim_isList scopes: + - variable.snake-case - variable.other.unknown.prim_isList - source: ',' scopes: @@ -46958,7 +50101,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elemAt @@ -47042,7 +50185,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -47054,12 +50198,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: list scopes: + - variable.lower-case - variable.other.unknown.list - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -47077,6 +50223,7 @@ - punctuation.section.parens.begin.bracket.round - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: @@ -47107,13 +50254,15 @@ - meta.parens - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '>=' scopes: - keyword.operator.comparison - source: list scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.list - source: . scopes: - punctuation.separator.dot-access @@ -47133,7 +50282,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -47153,6 +50303,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -47183,6 +50334,7 @@ - punctuation.separator.delimiter.comma - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ) scopes: @@ -47193,13 +50345,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -47213,6 +50367,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -47231,7 +50386,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -47246,7 +50402,8 @@ - keyword.operator.arithmetic - source: list scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.list - source: . scopes: - punctuation.separator.dot-access @@ -47266,6 +50423,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -47277,6 +50435,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -47286,6 +50445,7 @@ - punctuation.terminator.statement - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: '=' scopes: @@ -47295,7 +50455,8 @@ - keyword.operator.arithmetic - source: list scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.list - source: . scopes: - punctuation.separator.dot-access @@ -47315,6 +50476,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -47348,7 +50510,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_elemAt @@ -47431,12 +50593,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -47465,7 +50629,8 @@ - punctuation.separator.delimiter.comma - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -47499,6 +50664,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -47508,6 +50674,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -47525,7 +50692,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_elemAt scopesBegin: @@ -47637,6 +50804,7 @@ - keyword.operator.assignment - source: prim_elemAt scopes: + - variable.snake-case - variable.other.unknown.prim_elemAt - source: ',' scopes: @@ -47672,7 +50840,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_head @@ -47755,12 +50923,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -47795,6 +50965,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -47812,7 +50983,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_head scopesBegin: @@ -47907,6 +51078,7 @@ - keyword.operator.assignment - source: prim_head scopes: + - variable.snake-case - variable.other.unknown.prim_head - source: ',' scopes: @@ -47944,7 +51116,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_tail @@ -48021,7 +51193,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -48055,6 +51228,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -48111,7 +51285,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -48131,6 +51306,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -48161,13 +51337,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -48181,6 +51359,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -48199,7 +51378,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -48211,6 +51391,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: @@ -48274,6 +51455,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -48286,13 +51468,15 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -48313,6 +51497,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -48323,7 +51508,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -48343,6 +51529,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -48387,6 +51574,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: + scopes: @@ -48412,7 +51600,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_tail scopesBegin: @@ -48511,6 +51699,7 @@ - keyword.operator.assignment - source: prim_tail scopes: + - variable.snake-case - variable.other.unknown.prim_tail - source: ',' scopes: @@ -48546,7 +51735,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_map @@ -48623,7 +51812,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -48657,6 +51847,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -48666,7 +51857,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -48678,6 +51870,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: @@ -48735,6 +51928,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -48747,13 +51941,15 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -48774,6 +51970,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -48785,7 +51982,8 @@ - punctuation.section.parens.begin.bracket.round - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -48805,6 +52003,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -48816,7 +52015,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -48897,6 +52097,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -48919,7 +52120,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_map scopesBegin: @@ -49035,6 +52236,7 @@ - keyword.operator.assignment - source: prim_map scopes: + - variable.snake-case - variable.other.unknown.prim_map - source: ',' scopes: @@ -49072,7 +52274,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_filter @@ -49149,7 +52351,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -49183,6 +52386,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -49192,7 +52396,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -49226,6 +52431,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -49293,40 +52499,57 @@ - punctuation.terminator.statement - source: unsigned scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: int scopesEnd: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: k + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: same + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -49349,6 +52572,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -49361,6 +52585,7 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: @@ -49401,6 +52626,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -49415,18 +52641,25 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: Value + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: res scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -49496,6 +52729,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -49507,12 +52741,14 @@ - punctuation.separator.delimiter.comma - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma - source: noPos scopes: + - variable.camel-case - variable.other.unknown.noPos - source: ) scopes: @@ -49530,7 +52766,8 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -49542,12 +52779,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -49567,6 +52806,7 @@ - punctuation.definition.begin.bracket.square - source: k scopes: + - variable.lower-case - variable.other.unknown.k - source: ++ scopes: @@ -49614,6 +52854,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -49628,6 +52869,7 @@ - keyword.control.else - source: same scopes: + - variable.lower-case - variable.other.unknown.same - source: '=' scopes: @@ -49653,6 +52895,7 @@ - punctuation.section.parens.begin.bracket.round - source: same scopes: + - variable.lower-case - variable.other.unknown.same - source: ) scopes: @@ -49661,6 +52904,7 @@ - meta.parens - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: '=' scopes: @@ -49697,7 +52941,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -49709,12 +52954,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: k scopes: + - variable.lower-case - variable.other.unknown.k - source: ) scopes: @@ -49741,6 +52988,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -49753,12 +53001,14 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: k scopes: + - variable.lower-case - variable.other.unknown.k - source: ; scopes: @@ -49768,6 +53018,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -49778,7 +53029,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -49798,6 +53050,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -49817,6 +53070,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -49841,7 +53095,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_filter scopesBegin: @@ -49953,6 +53207,7 @@ - keyword.operator.assignment - source: prim_filter scopes: + - variable.snake-case - variable.other.unknown.prim_filter - source: ',' scopes: @@ -49988,7 +53243,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_elem @@ -50064,25 +53319,34 @@ - source: bool scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: res + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -50116,6 +53380,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -50135,7 +53400,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem @@ -50189,7 +53454,8 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -50226,6 +53492,7 @@ - keyword.operator.arithmetic - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ) scopes: @@ -50242,6 +53509,7 @@ - punctuation.section.block.begin.bracket.curly - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: '=' scopes: @@ -50265,7 +53533,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -50277,6 +53546,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ) scopes: @@ -50294,7 +53564,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_elem scopesBegin: @@ -50406,6 +53676,7 @@ - keyword.operator.assignment - source: prim_elem scopes: + - variable.snake-case - variable.other.unknown.prim_elem - source: ',' scopes: @@ -50441,7 +53712,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_concatLists @@ -50518,7 +53789,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -50552,6 +53824,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -50561,7 +53834,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -50573,6 +53847,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: @@ -50641,6 +53916,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -50658,7 +53934,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_concatLists scopesBegin: @@ -50751,6 +54027,7 @@ - keyword.operator.assignment - source: prim_concatLists scopes: + - variable.snake-case - variable.other.unknown.prim_concatLists - source: ',' scopes: @@ -50786,7 +54063,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_length @@ -50863,7 +54140,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -50897,6 +54175,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -50906,7 +54185,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -50960,7 +54240,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_length scopesBegin: @@ -51053,6 +54333,7 @@ - keyword.operator.assignment - source: prim_length scopes: + - variable.snake-case - variable.other.unknown.prim_length - source: ',' scopes: @@ -51089,7 +54370,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_foldlStrict @@ -51166,7 +54447,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -51200,6 +54482,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -51209,7 +54492,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -51243,6 +54527,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -51297,18 +54582,25 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: Value + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: vCur + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -51324,6 +54616,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -51341,7 +54634,7 @@ - meta.parens.control.for - meta.binding scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '[' @@ -51421,6 +54714,7 @@ - keyword.operator.arithmetic - source: vs scopes: + - variable.lower-case - variable.other.unknown.vs - source: ' []' - source: '{' @@ -51430,12 +54724,14 @@ - punctuation.section.block.begin.bracket.curly - source: vCur scopes: + - variable.camel-case - variable.other.unknown.vCur - source: ',' scopes: - punctuation.separator.delimiter.comma - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: '}' scopes: @@ -51447,12 +54743,14 @@ - punctuation.terminator.statement - source: vCur scopes: + - variable.camel-case - variable.other.unknown.vCur - source: '=' scopes: - keyword.operator.assignment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '==' scopes: @@ -51499,13 +54797,15 @@ - keyword.operator.bitwise - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ':' scopes: - keyword.operator.ternary - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -51523,7 +54823,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -51563,6 +54864,7 @@ - punctuation.separator.delimiter.comma - source: vs scopes: + - variable.lower-case - variable.other.unknown.vs - source: ',' scopes: @@ -51572,12 +54874,14 @@ - keyword.operator.arithmetic - source: vCur scopes: + - variable.camel-case - variable.other.unknown.vCur - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -51592,7 +54896,8 @@ - meta.block - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -51604,12 +54909,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -51632,7 +54939,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -51666,6 +54974,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -51675,6 +54984,7 @@ - punctuation.terminator.statement - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: '=' scopes: @@ -51716,7 +55026,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_foldlStrict scopesBegin: @@ -51845,6 +55155,7 @@ - keyword.operator.assignment - source: prim_foldlStrict scopes: + - variable.snake-case - variable.other.unknown.prim_foldlStrict - source: ',' scopes: @@ -51869,7 +55180,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: anyOrAll @@ -51956,7 +55267,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -51990,6 +55302,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -51999,7 +55312,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -52033,6 +55347,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -52041,12 +55356,18 @@ scopes: - punctuation.terminator.statement - source: Value + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: vTmp scopes: - - variable.other.object.declare + - meta.declaration + - variable.camel-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -52062,7 +55383,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem @@ -52113,7 +55434,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -52150,18 +55472,21 @@ - keyword.operator.arithmetic - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: vTmp scopes: + - variable.camel-case - variable.other.unknown.vTmp - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -52170,19 +55495,27 @@ scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: res + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -52194,16 +55527,20 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vTmp scopes: + - variable.camel-case - variable.other.unknown.vTmp - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -52217,12 +55554,14 @@ - punctuation.section.parens.begin.bracket.round - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: '==' scopes: - keyword.operator.comparison - source: any scopes: + - variable.lower-case - variable.other.unknown.any - source: ) scopes: @@ -52236,7 +55575,8 @@ - punctuation.section.block.begin.bracket.curly - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -52248,6 +55588,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: any scopes: + - variable.lower-case - variable.other.unknown.any - source: ) scopes: @@ -52273,7 +55614,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -52288,6 +55630,7 @@ - keyword.operator.logical - source: any scopes: + - variable.lower-case - variable.other.unknown.any - source: ) scopes: @@ -52305,7 +55648,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_any @@ -52394,24 +55737,28 @@ - punctuation.separator.delimiter.comma - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -52429,7 +55776,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_any scopesBegin: @@ -52541,6 +55888,7 @@ - keyword.operator.assignment - source: prim_any scopes: + - variable.snake-case - variable.other.unknown.prim_any - source: ',' scopes: @@ -52565,7 +55913,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_all @@ -52654,24 +56002,28 @@ - punctuation.separator.delimiter.comma - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: - punctuation.separator.delimiter.comma - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: ',' scopes: - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -52689,7 +56041,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_all scopesBegin: @@ -52801,6 +56153,7 @@ - keyword.operator.assignment - source: prim_all scopes: + - variable.snake-case - variable.other.unknown.prim_all - source: ',' scopes: @@ -52825,7 +56178,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_genList @@ -52901,19 +56254,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: len + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -52947,10 +56307,13 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -52964,6 +56327,7 @@ - punctuation.section.parens.begin.bracket.round - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: < scopes: @@ -52978,7 +56342,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -52998,6 +56363,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -53027,6 +56393,7 @@ - punctuation.separator.delimiter.comma - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ) scopes: @@ -53037,13 +56404,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -53057,6 +56426,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -53075,7 +56445,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -53087,12 +56458,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ) scopes: @@ -53119,6 +56492,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -53131,6 +56505,7 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: @@ -53155,6 +56530,7 @@ - meta.parens - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ; scopes: @@ -53164,6 +56540,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -53178,19 +56555,27 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: arg + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -53203,12 +56588,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: arg scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.arg - source: '->' scopes: - punctuation.separator.pointer-access @@ -53220,6 +56608,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ) scopes: @@ -53234,7 +56623,8 @@ - punctuation.section.parens.begin.bracket.round - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -53254,6 +56644,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -53265,7 +56656,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -53313,6 +56705,7 @@ - punctuation.separator.delimiter.comma - source: arg scopes: + - variable.lower-case - variable.other.unknown.arg - source: ) scopes: @@ -53335,7 +56728,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_genList scopesBegin: @@ -53451,6 +56844,7 @@ - keyword.operator.assignment - source: prim_genList scopes: + - variable.snake-case - variable.other.unknown.prim_genList - source: ',' scopes: @@ -53475,7 +56869,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_lessThan @@ -53556,7 +56950,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_sort @@ -53633,7 +57027,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -53667,6 +57062,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -53676,7 +57072,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -53710,6 +57107,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -53718,16 +57116,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: len + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -53756,12 +57161,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -53773,12 +57181,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ) scopes: @@ -53805,6 +57215,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -53817,12 +57228,14 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ; scopes: @@ -53832,6 +57245,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -53847,7 +57261,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -53895,6 +57310,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -53906,6 +57322,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -53915,7 +57332,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -53935,6 +57353,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -53979,6 +57398,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -53994,16 +57414,23 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: comparator + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -54126,6 +57553,7 @@ - punctuation.separator.pointer-access - source: primOp scopes: + - variable.camel-case - variable.other.object.property - source: '->' scopes: @@ -54138,6 +57566,7 @@ - keyword.operator.comparison - source: prim_lessThan scopes: + - variable.snake-case - variable.other.unknown.prim_lessThan - source: ) scopes: @@ -54155,6 +57584,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: ) scopes: @@ -54166,12 +57596,14 @@ - punctuation.section.parens.begin.bracket.round - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: ) scopes: @@ -54189,6 +57621,7 @@ - keyword.operator.arithmetic - source: vs scopes: + - variable.lower-case - variable.other.assignment - source: '[' scopes: @@ -54206,12 +57639,14 @@ - punctuation.section.block.begin.bracket.curly - source: a scopes: + - variable.lower-case - variable.other.unknown.a - source: ',' scopes: - punctuation.separator.delimiter.comma - source: b scopes: + - variable.lower-case - variable.other.unknown.b - source: '}' scopes: @@ -54226,13 +57661,15 @@ - variable.other.unknown.Value - source: vBool scopes: + - variable.camel-case - variable.other.unknown.vBool - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -54272,18 +57709,21 @@ - punctuation.separator.delimiter.comma - source: vs scopes: + - variable.lower-case - variable.other.unknown.vs - source: ',' scopes: - punctuation.separator.delimiter.comma - source: vBool scopes: + - variable.camel-case - variable.other.unknown.vBool - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -54296,7 +57736,8 @@ - keyword.control.return - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -54308,12 +57749,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vBool scopes: + - variable.camel-case - variable.other.unknown.vBool - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -54325,6 +57768,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -54357,7 +57801,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -54375,7 +57820,8 @@ - punctuation.separator.delimiter.comma - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -54393,12 +57839,14 @@ - keyword.operator.arithmetic - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ',' scopes: - punctuation.separator.delimiter.comma - source: comparator scopes: + - variable.lower-case - variable.other.unknown.comparator - source: ) scopes: @@ -54416,7 +57864,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_sort scopesBegin: @@ -54536,6 +57984,7 @@ - keyword.operator.assignment - source: prim_sort scopes: + - variable.snake-case - variable.other.unknown.prim_sort - source: ',' scopes: @@ -54560,7 +58009,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_partition @@ -54637,7 +58086,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -54671,6 +58121,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -54680,7 +58131,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -54714,6 +58166,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -54722,16 +58175,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: len + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -54760,22 +58220,31 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: ValueVector + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: right scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare - source: ',' scopes: - punctuation.separator.delimiter.comma - source: wrong scopes: + - variable.lower-case - variable.other.unknown.wrong + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -54798,6 +58267,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -54810,12 +58280,14 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ; scopes: @@ -54825,6 +58297,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -54839,16 +58312,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: vElem + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -54884,18 +58364,21 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -54910,12 +58393,14 @@ - keyword.operator.arithmetic - source: vElem scopes: + - variable.camel-case - variable.other.unknown.vElem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -54924,18 +58409,25 @@ scopes: - punctuation.terminator.statement - source: Value + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: res scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -54972,18 +58464,21 @@ - keyword.operator.arithmetic - source: vElem scopes: + - variable.camel-case - variable.other.unknown.vElem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -55001,7 +58496,8 @@ - punctuation.section.parens.begin.bracket.round - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -55013,12 +58509,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -55030,7 +58528,8 @@ - meta.parens - source: right scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.right - source: . scopes: - punctuation.separator.dot-access @@ -55042,6 +58541,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vElem scopes: + - variable.camel-case - variable.other.unknown.vElem - source: ) scopes: @@ -55054,7 +58554,8 @@ - keyword.control.else - source: wrong scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.wrong - source: . scopes: - punctuation.separator.dot-access @@ -55066,6 +58567,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vElem scopes: + - variable.camel-case - variable.other.unknown.vElem - source: ) scopes: @@ -55079,19 +58581,27 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -55107,26 +58617,36 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: vRight + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -55138,7 +58658,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -55148,23 +58669,33 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: rsize + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: right scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.right - source: . scopes: - punctuation.separator.dot-access @@ -55177,12 +58708,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -55194,12 +58728,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vRight scopes: + - variable.camel-case - variable.other.unknown.vRight - source: ',' scopes: - punctuation.separator.delimiter.comma - source: rsize scopes: + - variable.lower-case - variable.other.unknown.rsize - source: ) scopes: @@ -55217,6 +58753,7 @@ - punctuation.section.parens.begin.bracket.round - source: rsize scopes: + - variable.lower-case - variable.other.unknown.rsize - source: ) scopes: @@ -55231,7 +58768,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: vRight scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.vRight - source: . scopes: - punctuation.separator.dot-access @@ -55249,7 +58787,8 @@ - punctuation.separator.delimiter.comma - source: right scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.right - source: . scopes: - punctuation.separator.dot-access @@ -55290,6 +58829,7 @@ - keyword.operator.arithmetic - source: rsize scopes: + - variable.lower-case - variable.other.unknown.rsize - source: ) scopes: @@ -55298,22 +58838,30 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: vWrong + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -55325,7 +58873,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -55335,23 +58884,33 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: wsize + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: wrong scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.wrong - source: . scopes: - punctuation.separator.dot-access @@ -55364,12 +58923,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -55381,12 +58943,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vWrong scopes: + - variable.camel-case - variable.other.unknown.vWrong - source: ',' scopes: - punctuation.separator.delimiter.comma - source: wsize scopes: + - variable.lower-case - variable.other.unknown.wsize - source: ) scopes: @@ -55404,6 +58968,7 @@ - punctuation.section.parens.begin.bracket.round - source: wsize scopes: + - variable.lower-case - variable.other.unknown.wsize - source: ) scopes: @@ -55418,7 +58983,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: vWrong scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.vWrong - source: . scopes: - punctuation.separator.dot-access @@ -55436,7 +59002,8 @@ - punctuation.separator.delimiter.comma - source: wrong scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.wrong - source: . scopes: - punctuation.separator.dot-access @@ -55477,6 +59044,7 @@ - keyword.operator.arithmetic - source: wsize scopes: + - variable.lower-case - variable.other.unknown.wsize - source: ) scopes: @@ -55486,7 +59054,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -55498,6 +59067,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ) scopes: @@ -55515,7 +59085,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_partition scopesBegin: @@ -55637,6 +59207,7 @@ - keyword.operator.assignment - source: prim_partition scopes: + - variable.snake-case - variable.other.unknown.prim_partition - source: ',' scopes: @@ -55661,7 +59232,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_groupBy @@ -55738,7 +59309,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -55772,6 +59344,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -55781,7 +59354,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -55815,6 +59389,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -55823,12 +59398,18 @@ scopes: - punctuation.terminator.statement - source: ValueVectorMap + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: attrs scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -55844,7 +59425,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: vElem @@ -55894,18 +59475,25 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: Value + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: res scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -55942,18 +59530,21 @@ - keyword.operator.arithmetic - source: vElem scopes: + - variable.camel-case - variable.other.unknown.vElem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -55962,19 +59553,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: name + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -55986,38 +59585,51 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: sym + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: symbols scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -56030,27 +59642,38 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: vector + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -56062,6 +59685,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: sym scopes: + - variable.lower-case - variable.other.unknown.sym - source: ',' scopes: @@ -56084,17 +59708,21 @@ - source: first scopes: - variable.other.property + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: vector scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.vector - source: '->' scopes: - punctuation.separator.pointer-access - source: second scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -56107,6 +59735,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: vElem scopes: + - variable.camel-case - variable.other.unknown.vElem - source: ) scopes: @@ -56120,19 +59749,27 @@ scopesEnd: - meta.block - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs2 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -56144,7 +59781,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -56159,6 +59797,7 @@ - punctuation.section.arguments.end.bracket.round.function.member - source: ) scopesEnd: + - meta.assignment - punctuation.section.arguments.end.bracket.round.function.member - source: ; scopes: @@ -56175,7 +59814,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -56189,6 +59828,7 @@ - punctuation.separator.colon.range-based - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs scopesEnd: - meta.parens.control.for @@ -56203,22 +59843,30 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' scopes: - storage.modifier.reference - source: list + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: attrs2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs2 - source: . scopes: - punctuation.separator.dot-access @@ -56230,7 +59878,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access @@ -56240,28 +59889,39 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: size + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access - source: second scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -56275,12 +59935,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -56292,12 +59955,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: list scopes: + - variable.lower-case - variable.other.unknown.list - source: ',' scopes: - punctuation.separator.delimiter.comma - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: ) scopes: @@ -56313,7 +59978,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: list scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.list - source: . scopes: - punctuation.separator.dot-access @@ -56331,12 +59997,14 @@ - punctuation.separator.delimiter.comma - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access - source: second scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -56378,6 +60046,7 @@ - keyword.operator.arithmetic - source: size scopes: + - variable.lower-case - variable.other.unknown.size - source: ) scopes: @@ -56392,7 +60061,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -56404,7 +60074,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs2 scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs2 - source: . scopes: - punctuation.separator.dot-access @@ -56433,7 +60104,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_groupBy scopesBegin: @@ -56555,6 +60226,7 @@ - keyword.operator.assignment - source: prim_groupBy scopes: + - variable.snake-case - variable.other.unknown.prim_groupBy - source: ',' scopes: @@ -56579,7 +60251,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_concatMap @@ -56656,7 +60328,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -56690,6 +60363,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -56699,7 +60373,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -56733,6 +60408,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -56741,16 +60417,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: nrLists + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -56779,6 +60462,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -56795,6 +60480,7 @@ - punctuation.definition.begin.bracket.square - source: nrLists scopes: + - variable.camel-case - variable.other.unknown.nrLists - source: ']' scopes: @@ -56805,19 +60491,28 @@ scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: len + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -56840,6 +60535,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -56852,12 +60548,14 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: nrLists scopes: + - variable.camel-case - variable.other.unknown.nrLists - source: ; scopes: @@ -56867,6 +60565,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -56881,18 +60580,25 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: Value + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '*' scopes: - storage.modifier.pointer - source: vElem + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: args scopesBegin: - meta.bracket.square.access @@ -56928,18 +60634,21 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -56976,6 +60685,7 @@ - keyword.operator.arithmetic - source: vElem scopes: + - variable.camel-case - variable.other.unknown.vElem - source: ',' scopes: @@ -56990,6 +60700,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -57001,6 +60712,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -57018,7 +60730,8 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -57038,6 +60751,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -57057,6 +60771,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -57099,6 +60814,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -57131,6 +60847,7 @@ - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -57144,7 +60861,8 @@ - punctuation.section.block.begin.bracket.curly - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -57156,7 +60874,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -57170,6 +60889,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -57225,7 +60945,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -57237,6 +60958,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -57251,6 +60973,7 @@ - meta.block - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: += scopes: @@ -57265,6 +60988,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -57293,7 +61017,8 @@ - meta.block - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -57305,12 +61030,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ) scopes: @@ -57319,19 +61046,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: out + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -57344,6 +61079,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -57366,6 +61103,7 @@ - storage.type.built-in.primitive - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: '=' scopes: @@ -57378,6 +61116,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: '=' scopes: @@ -57390,12 +61129,14 @@ - punctuation.terminator.statement - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: < scopes: - keyword.operator.comparison - source: nrLists scopes: + - variable.camel-case - variable.other.unknown.nrLists - source: ; scopes: @@ -57405,6 +61146,7 @@ - keyword.operator.increment - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n scopesEnd: - meta.parens.control.for @@ -57419,16 +61161,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: l + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: lists scopesBegin: - meta.bracket.square.access @@ -57439,6 +61188,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -57457,6 +61207,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -57470,6 +61222,7 @@ - punctuation.section.parens.begin.bracket.round - source: l scopes: + - variable.lower-case - variable.other.unknown.l - source: ) scopes: @@ -57484,12 +61237,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: out scopes: + - variable.lower-case - variable.other.unknown.out - source: + scopes: - keyword.operator.arithmetic - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -57504,6 +61259,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -57527,6 +61283,7 @@ - punctuation.separator.delimiter.comma - source: l scopes: + - variable.lower-case - variable.other.unknown.l - source: '*' scopes: @@ -57559,12 +61316,14 @@ - punctuation.terminator.statement - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: += scopes: - keyword.operator.assignment.compound - source: l scopes: + - variable.lower-case - variable.other.unknown.l - source: ; scopes: @@ -57584,7 +61343,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_concatMap scopesBegin: @@ -57696,6 +61455,7 @@ - keyword.operator.assignment - source: prim_concatMap scopes: + - variable.snake-case - variable.other.unknown.prim_concatMap - source: ',' scopes: @@ -57731,7 +61491,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_add @@ -57808,7 +61568,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -57842,6 +61603,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -57851,7 +61613,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -57885,6 +61648,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -57933,6 +61697,7 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: '||' scopes: @@ -57970,6 +61735,7 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: ) scopes: @@ -57978,7 +61744,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -57990,7 +61757,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -58024,6 +61792,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -58033,7 +61802,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -58067,6 +61837,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -58082,7 +61853,8 @@ - keyword.control.else - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -58094,7 +61866,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -58128,6 +61901,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -58137,7 +61911,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -58171,6 +61946,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -58191,7 +61967,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_add scopesBegin: @@ -58302,6 +62078,7 @@ - keyword.operator.assignment - source: prim_add scopes: + - variable.snake-case - variable.other.unknown.prim_add - source: ',' scopes: @@ -58326,7 +62103,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_sub @@ -58403,7 +62180,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -58437,6 +62215,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -58446,7 +62225,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -58480,6 +62260,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -58528,6 +62309,7 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: '||' scopes: @@ -58565,6 +62347,7 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: ) scopes: @@ -58573,7 +62356,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -58585,7 +62369,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -58619,6 +62404,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -58628,7 +62414,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -58662,6 +62449,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -58677,7 +62465,8 @@ - keyword.control.else - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -58689,7 +62478,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -58723,6 +62513,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -58732,7 +62523,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -58766,6 +62558,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -58786,7 +62579,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_sub scopesBegin: @@ -58897,6 +62690,7 @@ - keyword.operator.assignment - source: prim_sub scopes: + - variable.snake-case - variable.other.unknown.prim_sub - source: ',' scopes: @@ -58921,7 +62715,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_mul @@ -58998,7 +62792,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59032,6 +62827,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -59041,7 +62837,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59075,6 +62872,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -59123,6 +62921,7 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: '||' scopes: @@ -59160,6 +62959,7 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: ) scopes: @@ -59168,7 +62968,8 @@ - meta.parens - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -59180,7 +62981,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59214,6 +63016,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -59223,7 +63026,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59257,6 +63061,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -59272,7 +63077,8 @@ - keyword.control.else - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -59284,7 +63090,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59318,6 +63125,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -59327,7 +63135,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59361,6 +63170,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -59381,7 +63191,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_mul scopesBegin: @@ -59492,6 +63302,7 @@ - keyword.operator.assignment - source: prim_mul scopes: + - variable.snake-case - variable.other.unknown.prim_mul - source: ',' scopes: @@ -59516,7 +63327,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_div @@ -59593,7 +63404,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59627,6 +63439,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -59636,7 +63449,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59670,6 +63484,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -59678,18 +63493,26 @@ scopes: - punctuation.terminator.statement - source: NixFloat + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: f2 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59723,10 +63546,13 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -59740,6 +63566,7 @@ - punctuation.section.parens.begin.bracket.round - source: f2 scopes: + - variable.lower-case - variable.other.unknown.f2 - source: '==' scopes: @@ -59754,7 +63581,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59774,6 +63602,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -59804,13 +63633,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59824,6 +63655,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -59881,6 +63713,7 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: '||' scopes: @@ -59918,6 +63751,7 @@ - keyword.operator.comparison - source: nFloat scopes: + - variable.camel-case - variable.other.unknown.nFloat - source: ) scopes: @@ -59931,7 +63765,8 @@ - punctuation.section.block.begin.bracket.curly - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -59943,7 +63778,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -59977,6 +63813,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -59986,7 +63823,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -60020,6 +63858,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -60044,18 +63883,26 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: NixInt + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: i1 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -60089,26 +63936,37 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: NixInt + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: i2 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -60142,10 +64000,13 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -60170,6 +64031,7 @@ - punctuation.section.parens.begin.bracket.round - source: i1 scopes: + - variable.lower-case - variable.other.unknown.i1 - source: '==' scopes: @@ -60192,7 +64054,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: NixInt scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -60218,6 +64080,7 @@ - keyword.operator.logical - source: i2 scopes: + - variable.lower-case - variable.other.unknown.i2 - source: '==' scopes: @@ -60235,7 +64098,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -60255,6 +64119,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -60285,13 +64150,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -60305,6 +64172,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -60323,7 +64191,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -60335,12 +64204,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i1 scopes: + - variable.lower-case - variable.other.unknown.i1 - source: / scopes: - keyword.operator.arithmetic - source: i2 scopes: + - variable.lower-case - variable.other.unknown.i2 - source: ) scopes: @@ -60363,7 +64234,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_div scopesBegin: @@ -60474,6 +64345,7 @@ - keyword.operator.assignment - source: prim_div scopes: + - variable.snake-case - variable.other.unknown.prim_div - source: ',' scopes: @@ -60498,7 +64370,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_bitAnd @@ -60575,7 +64447,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -60587,7 +64460,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -60621,6 +64495,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -60630,7 +64505,8 @@ - keyword.operator.bitwise - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -60664,6 +64540,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -60684,7 +64561,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_bitAnd scopesBegin: @@ -60795,6 +64672,7 @@ - keyword.operator.assignment - source: prim_bitAnd scopes: + - variable.snake-case - variable.other.unknown.prim_bitAnd - source: ',' scopes: @@ -60819,7 +64697,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_bitOr @@ -60896,7 +64774,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -60908,7 +64787,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -60942,6 +64822,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -60951,7 +64832,8 @@ - keyword.operator.bitwise - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -60985,6 +64867,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -61005,7 +64888,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_bitOr scopesBegin: @@ -61116,6 +64999,7 @@ - keyword.operator.assignment - source: prim_bitOr scopes: + - variable.snake-case - variable.other.unknown.prim_bitOr - source: ',' scopes: @@ -61140,7 +65024,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_bitXor @@ -61217,7 +65101,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -61229,7 +65114,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -61263,6 +65149,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -61272,7 +65159,8 @@ - keyword.operator.bitwise - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -61306,6 +65194,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -61326,7 +65215,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_bitXor scopesBegin: @@ -61437,6 +65326,7 @@ - keyword.operator.assignment - source: prim_bitXor scopes: + - variable.snake-case - variable.other.unknown.prim_bitXor - source: ',' scopes: @@ -61461,7 +65351,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_lessThan @@ -61538,7 +65428,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -61572,6 +65463,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -61581,7 +65473,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -61615,6 +65508,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -61624,11 +65518,12 @@ - punctuation.terminator.statement - source: CompareValues scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: comp scopes: - - entity.name.function.call.constructor + - variable.lower-case + - variable.other.object.construction - source: '{' scopesBegin: - meta.block @@ -61636,6 +65531,7 @@ - punctuation.section.block.begin.bracket.curly - source: state scopes: + - variable.lower-case - variable.other.unknown.state - source: '}' scopes: @@ -61647,7 +65543,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -61717,7 +65614,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_lessThan scopesBegin: @@ -61830,6 +65727,7 @@ - keyword.operator.assignment - source: prim_lessThan scopes: + - variable.snake-case - variable.other.unknown.prim_lessThan - source: ',' scopes: @@ -61879,7 +65777,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_toString @@ -61955,29 +65853,42 @@ - source: PathSet scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -61989,6 +65900,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -62017,6 +65929,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: @@ -62033,12 +65946,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -62053,12 +65969,14 @@ - keyword.operator.arithmetic - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -62076,7 +65994,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_toString scopesBegin: @@ -62177,6 +66095,7 @@ - keyword.operator.assignment - source: prim_toString scopes: + - variable.snake-case - variable.other.unknown.prim_toString - source: ',' scopes: @@ -62215,7 +66134,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_substring @@ -62291,19 +66210,26 @@ - source: int scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: start + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -62337,27 +66263,38 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: len + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -62391,37 +66328,54 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -62433,6 +66387,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -62461,10 +66416,13 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -62478,6 +66436,7 @@ - punctuation.section.parens.begin.bracket.round - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: < scopes: @@ -62492,7 +66451,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -62512,6 +66472,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -62542,13 +66503,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -62562,6 +66525,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -62580,7 +66544,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -62610,13 +66575,15 @@ - meta.parens - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: '>=' scopes: - keyword.operator.comparison - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: '->' scopes: - punctuation.separator.pointer-access @@ -62647,7 +66614,8 @@ - keyword.operator.ternary - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: '->' scopes: - punctuation.separator.pointer-access @@ -62659,12 +66627,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: start scopes: + - variable.lower-case - variable.other.unknown.start - source: ',' scopes: - punctuation.separator.delimiter.comma - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ) scopes: @@ -62674,6 +66644,7 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -62691,7 +66662,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_substring scopesBegin: @@ -62825,6 +66796,7 @@ - keyword.operator.assignment - source: prim_substring scopes: + - variable.snake-case - variable.other.unknown.prim_substring - source: ',' scopes: @@ -62849,7 +66821,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_stringLength @@ -62925,29 +66897,42 @@ - source: PathSet scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -62959,6 +66944,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -62987,16 +66973,20 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -63008,7 +66998,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: '->' scopes: - punctuation.separator.pointer-access @@ -63037,7 +67028,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_stringLength scopesBegin: @@ -63131,6 +67122,7 @@ - keyword.operator.assignment - source: prim_stringLength scopes: + - variable.snake-case - variable.other.unknown.prim_stringLength - source: ',' scopes: @@ -63166,7 +67158,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_hashString @@ -63242,19 +67234,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: type + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -63288,16 +67287,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -63314,20 +67317,25 @@ - punctuation.section.angle-brackets.begin.template.call - source: HashType scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: ht + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: parseHashType scopes: - entity.name.function.call @@ -63336,10 +67344,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -63356,6 +67367,7 @@ - keyword.operator.logical - source: ht scopes: + - variable.lower-case - variable.other.unknown.ht - source: ) scopes: @@ -63364,7 +67376,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -63384,6 +67397,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -63414,6 +67428,7 @@ - punctuation.separator.delimiter.comma - source: type scopes: + - variable.lower-case - variable.other.unknown.type - source: ) scopes: @@ -63424,13 +67439,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -63444,6 +67461,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -63461,12 +67479,18 @@ scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -63479,19 +67503,27 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -63525,22 +67557,27 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -63561,12 +67598,14 @@ - keyword.operator.arithmetic - source: ht scopes: + - variable.lower-case - variable.other.unknown.ht - source: ',' scopes: - punctuation.separator.delimiter.comma - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ) scopes: @@ -63608,7 +67647,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_hashString scopesBegin: @@ -63721,6 +67760,7 @@ - keyword.operator.assignment - source: prim_hashString scopes: + - variable.snake-case - variable.other.unknown.prim_hashString - source: ',' scopes: @@ -63762,7 +67802,8 @@ - comment.line.double-slash - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -63786,7 +67827,7 @@ - punctuation.separator.scope-resolution.template.call - source: string_view scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: @@ -63800,23 +67841,28 @@ - punctuation.separator.scope-resolution.template.call - source: regex scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: cache scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -63840,24 +67886,28 @@ - punctuation.separator.scope-resolution.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: keys scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -63868,7 +67918,7 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: get scopesBegin: - meta.head.function.definition @@ -63907,19 +67957,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: it + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: cache scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cache - source: . scopes: - punctuation.separator.dot-access @@ -63931,10 +67988,13 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: re scopes: + - variable.lower-case - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -63948,13 +68008,15 @@ - punctuation.section.parens.begin.bracket.round - source: it scopes: + - variable.lower-case - variable.other.unknown.it - source: '!=' scopes: - keyword.operator.comparison - source: cache scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cache - source: . scopes: - punctuation.separator.dot-access @@ -63977,7 +68039,8 @@ - keyword.control.return - source: it scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.it - source: '->' scopes: - punctuation.separator.pointer-access @@ -63989,7 +68052,8 @@ - punctuation.terminator.statement - source: keys scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.keys - source: . scopes: - punctuation.separator.dot-access @@ -64001,6 +68065,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: re scopes: + - variable.lower-case - variable.other.unknown.re - source: ) scopes: @@ -64013,7 +68078,8 @@ - keyword.control.return - source: cache scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.cache - source: . scopes: - punctuation.separator.dot-access @@ -64025,7 +68091,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: keys scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.keys - source: . scopes: - punctuation.separator.dot-access @@ -64056,7 +68123,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: keys scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.keys - source: . scopes: - punctuation.separator.dot-access @@ -64088,6 +68156,7 @@ - punctuation.separator.scope-resolution - source: extended scopes: + - variable.lower-case - variable.other.unknown.extended - source: ) scopes: @@ -64100,6 +68169,7 @@ - punctuation.separator.dot-access - source: first scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -64129,7 +68199,7 @@ - source: std scopesBegin: - meta.function.definition - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -64146,13 +68216,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: RegexCache scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: makeRegexCache scopesBegin: @@ -64193,7 +68263,7 @@ - punctuation.section.angle-brackets.begin.template.call - source: RegexCache scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: @@ -64217,7 +68287,7 @@ - meta.body.function.definition - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_match @@ -64293,19 +68363,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: re + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -64339,10 +68416,13 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -64355,24 +68435,33 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: regex + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: regexCache scopes: + - variable.camel-case - variable.other.object.property - source: '->' scopes: @@ -64385,40 +68474,57 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: re scopes: + - variable.lower-case - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: str + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -64452,22 +68558,27 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -64478,10 +68589,14 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: match scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -64511,7 +68626,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -64529,7 +68645,8 @@ - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -64547,12 +68664,14 @@ - punctuation.separator.delimiter.comma - source: match scopes: + - variable.lower-case - variable.other.unknown.match - source: ',' scopes: - punctuation.separator.delimiter.comma - source: regex scopes: + - variable.lower-case - variable.other.unknown.regex - source: ) scopes: @@ -64569,7 +68688,8 @@ - punctuation.section.block.begin.bracket.curly - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -64605,22 +68725,30 @@ scopesEnd: - comment.line.double-slash - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: size_t scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: len + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: match scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.match - source: . scopes: - punctuation.separator.dot-access @@ -64639,12 +68767,15 @@ - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -64656,12 +68787,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ) scopes: @@ -64685,6 +68818,7 @@ - storage.type.built-in - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -64697,12 +68831,14 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ; scopes: @@ -64712,6 +68848,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -64746,6 +68883,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: + scopes: @@ -64772,7 +68910,8 @@ - punctuation.section.parens.begin.bracket.round - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -64792,6 +68931,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -64803,7 +68943,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -64846,7 +68987,8 @@ - punctuation.section.parens.begin.bracket.round - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -64866,6 +69008,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -64877,7 +69020,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -64914,6 +69058,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: + scopes: @@ -64971,12 +69116,14 @@ - punctuation.separator.scope-resolution - source: regex_error scopes: + - variable.snake-case - variable.other.unknown.regex_error - source: '&' scopes: - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -64998,7 +69145,8 @@ - punctuation.section.parens.begin.bracket.round - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -65030,6 +69178,7 @@ - punctuation.separator.scope-resolution - source: error_space scopes: + - variable.snake-case - variable.other.unknown.error_space - source: ) scopes: @@ -65051,7 +69200,8 @@ - comment.line.double-slash - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -65071,6 +69221,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -65101,6 +69252,7 @@ - punctuation.separator.delimiter.comma - source: re scopes: + - variable.lower-case - variable.other.unknown.re - source: ) scopes: @@ -65111,13 +69263,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -65131,6 +69285,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -65157,7 +69312,8 @@ - keyword.control.else - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -65177,6 +69333,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -65207,6 +69364,7 @@ - punctuation.separator.delimiter.comma - source: re scopes: + - variable.lower-case - variable.other.unknown.re - source: ) scopes: @@ -65217,13 +69375,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -65237,6 +69397,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -65268,7 +69429,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_match scopesBegin: @@ -65398,6 +69559,7 @@ - keyword.operator.assignment - source: prim_match scopes: + - variable.snake-case - variable.other.unknown.prim_match - source: ',' scopes: @@ -65431,7 +69593,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_split @@ -65507,19 +69669,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: re + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -65553,10 +69722,13 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -65569,24 +69741,33 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: regex + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access - source: regexCache scopes: + - variable.camel-case - variable.other.object.property - source: '->' scopes: @@ -65599,40 +69780,57 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: re scopes: + - variable.lower-case - variable.other.unknown.re - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: str + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -65666,30 +69864,41 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: begin + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -65705,7 +69914,8 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -65723,7 +69933,8 @@ - punctuation.separator.delimiter.comma - source: str scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.str - source: . scopes: - punctuation.separator.dot-access @@ -65741,24 +69952,34 @@ - punctuation.separator.delimiter.comma - source: regex scopes: + - variable.lower-case - variable.other.unknown.regex - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: end + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -65775,6 +69996,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -65787,19 +70010,26 @@ scopesEnd: - comment.line.double-slash - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: size_t scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: len + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: std scopes: - entity.name.scope-resolution @@ -65815,22 +70045,27 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: begin scopes: + - variable.lower-case - variable.other.unknown.begin - source: ',' scopes: - punctuation.separator.delimiter.comma - source: end scopes: + - variable.lower-case - variable.other.unknown.end - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -65842,6 +70077,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: @@ -65854,6 +70090,7 @@ - keyword.operator.arithmetic - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: + scopes: @@ -65868,19 +70105,28 @@ scopes: - punctuation.terminator.statement - source: size_t + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: idx + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -65894,6 +70140,7 @@ - punctuation.section.parens.begin.bracket.round - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: '==' scopes: @@ -65913,7 +70160,8 @@ - punctuation.section.block.begin.bracket.curly - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -65933,6 +70181,7 @@ - punctuation.definition.begin.bracket.square - source: idx scopes: + - variable.lower-case - variable.other.unknown.idx - source: ++ scopes: @@ -65991,24 +70240,28 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: - keyword.operator.assignment - source: begin scopes: + - variable.lower-case - variable.other.unknown.begin - source: ; scopes: - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison - source: end scopes: + - variable.lower-case - variable.other.unknown.end - source: ; scopes: @@ -66018,6 +70271,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -66039,6 +70293,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: idx scopes: + - variable.lower-case - variable.other.unknown.idx - source: <= scopes: @@ -66051,6 +70306,7 @@ - keyword.operator.arithmetic - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: + scopes: @@ -66071,22 +70327,32 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: match + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '*' scopes: - keyword.operator.arithmetic - source: i scopes: + - variable.lower-case - variable.other.unknown.i + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -66105,7 +70371,8 @@ - punctuation.section.parens.begin.bracket.round - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -66125,6 +70392,7 @@ - punctuation.definition.begin.bracket.square - source: idx scopes: + - variable.lower-case - variable.other.unknown.idx - source: ++ scopes: @@ -66139,7 +70407,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -66168,7 +70437,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: match scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.match - source: . scopes: - punctuation.separator.dot-access @@ -66208,22 +70478,30 @@ scopesEnd: - comment.line.double-slash - source: const + scopesBegin: + - meta.assignment scopes: - storage.modifier.specifier.const - source: size_t scopes: - - meta.qualified_type + - meta.qualified-type - storage.type - storage.type.built-in - source: slen + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: match scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.match - source: . scopes: - punctuation.separator.dot-access @@ -66242,23 +70520,33 @@ - source: '1' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -66278,6 +70566,7 @@ - punctuation.definition.begin.bracket.square - source: idx scopes: + - variable.lower-case - variable.other.unknown.idx - source: ++ scopes: @@ -66292,7 +70581,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -66305,6 +70595,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -66318,7 +70610,8 @@ - comment.line.double-slash - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -66333,12 +70626,14 @@ - keyword.operator.arithmetic - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: slen scopes: + - variable.lower-case - variable.other.unknown.slen - source: ) scopes: @@ -66362,6 +70657,7 @@ - storage.type.built-in - source: si scopes: + - variable.lower-case - variable.other.unknown.si - source: '=' scopes: @@ -66374,12 +70670,14 @@ - punctuation.terminator.statement - source: si scopes: + - variable.lower-case - variable.other.unknown.si - source: < scopes: - keyword.operator.comparison - source: slen scopes: + - variable.lower-case - variable.other.unknown.slen - source: ; scopes: @@ -66389,6 +70687,7 @@ - keyword.operator.increment - source: si scopes: + - variable.lower-case - variable.other.unknown.si scopesEnd: - meta.parens.control.for @@ -66423,6 +70722,7 @@ - punctuation.definition.begin.bracket.square - source: si scopes: + - variable.lower-case - variable.other.unknown.si - source: + scopes: @@ -66449,7 +70749,8 @@ - punctuation.section.parens.begin.bracket.round - source: elem scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.elem - source: '->' scopes: - punctuation.separator.pointer-access @@ -66469,6 +70770,7 @@ - punctuation.definition.begin.bracket.square - source: si scopes: + - variable.lower-case - variable.other.unknown.si - source: ']' scopes: @@ -66480,7 +70782,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -66523,7 +70826,8 @@ - punctuation.section.parens.begin.bracket.round - source: elem scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.elem - source: '->' scopes: - punctuation.separator.pointer-access @@ -66543,6 +70847,7 @@ - punctuation.definition.begin.bracket.square - source: si scopes: + - variable.lower-case - variable.other.unknown.si - source: ']' scopes: @@ -66554,7 +70859,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -66591,6 +70897,7 @@ - punctuation.definition.begin.bracket.square - source: si scopes: + - variable.lower-case - variable.other.unknown.si - source: + scopes: @@ -66644,6 +70951,7 @@ - punctuation.section.parens.begin.bracket.round - source: idx scopes: + - variable.lower-case - variable.other.unknown.idx - source: '==' scopes: @@ -66656,6 +70964,7 @@ - keyword.operator.arithmetic - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: ) scopes: @@ -66665,7 +70974,8 @@ - punctuation.section.parens.begin.bracket.round - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -66685,6 +70995,7 @@ - punctuation.definition.begin.bracket.square - source: idx scopes: + - variable.lower-case - variable.other.unknown.idx - source: ++ scopes: @@ -66699,7 +71010,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -66728,7 +71040,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: match scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.match - source: . scopes: - punctuation.separator.dot-access @@ -66772,6 +71085,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: idx scopes: + - variable.lower-case - variable.other.unknown.idx - source: '==' scopes: @@ -66784,6 +71098,7 @@ - keyword.operator.arithmetic - source: len scopes: + - variable.lower-case - variable.other.unknown.len - source: + scopes: @@ -66819,12 +71134,14 @@ - punctuation.separator.scope-resolution - source: regex_error scopes: + - variable.snake-case - variable.other.unknown.regex_error - source: '&' scopes: - keyword.operator.bitwise - source: e scopes: + - variable.lower-case - variable.other.unknown.e - source: ) scopes: @@ -66846,7 +71163,8 @@ - punctuation.section.parens.begin.bracket.round - source: e scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.e - source: . scopes: - punctuation.separator.dot-access @@ -66878,6 +71196,7 @@ - punctuation.separator.scope-resolution - source: error_space scopes: + - variable.snake-case - variable.other.unknown.error_space - source: ) scopes: @@ -66899,7 +71218,8 @@ - comment.line.double-slash - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -66919,6 +71239,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -66949,6 +71270,7 @@ - punctuation.separator.delimiter.comma - source: re scopes: + - variable.lower-case - variable.other.unknown.re - source: ) scopes: @@ -66959,13 +71281,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -66979,6 +71303,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -67005,7 +71330,8 @@ - keyword.control.else - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -67025,6 +71351,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -67055,6 +71382,7 @@ - punctuation.separator.delimiter.comma - source: re scopes: + - variable.lower-case - variable.other.unknown.re - source: ) scopes: @@ -67065,13 +71393,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -67085,6 +71415,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -67116,7 +71447,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_split scopesBegin: @@ -67247,6 +71578,7 @@ - keyword.operator.assignment - source: prim_split scopes: + - variable.snake-case - variable.other.unknown.prim_split - source: ',' scopes: @@ -67271,7 +71603,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_concatStringsSep @@ -67347,29 +71679,42 @@ - source: PathSet scopesBegin: - meta.body.function.definition + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: sep + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -67403,22 +71748,27 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -67452,6 +71802,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -67461,7 +71812,8 @@ - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -67472,16 +71824,21 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: res scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: res scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.res - source: . scopes: - punctuation.separator.dot-access @@ -67540,7 +71897,8 @@ - keyword.operator.arithmetic - source: sep scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.sep - source: . scopes: - punctuation.separator.dot-access @@ -67560,19 +71918,28 @@ scopes: - punctuation.terminator.statement - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: first + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'true' scopes: - constant.language.true + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -67588,7 +71955,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem @@ -67647,6 +72014,7 @@ - punctuation.section.parens.begin.bracket.round - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: ) scopes: @@ -67655,6 +72023,7 @@ - meta.parens - source: first scopes: + - variable.lower-case - variable.other.unknown.first - source: '=' scopes: @@ -67670,18 +72039,21 @@ - keyword.control.else - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: += scopes: - keyword.operator.assignment.compound - source: sep scopes: + - variable.lower-case - variable.other.unknown.sep - source: ; scopes: - punctuation.terminator.statement - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: += scopes: @@ -67691,7 +72063,8 @@ - keyword.operator.arithmetic - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -67703,6 +72076,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ',' scopes: @@ -67712,12 +72086,14 @@ - keyword.operator.arithmetic - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -67732,7 +72108,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -67744,12 +72121,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -67767,7 +72146,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_concatStringsSep scopesBegin: @@ -67880,6 +72259,7 @@ - keyword.operator.assignment - source: prim_concatStringsSep scopes: + - variable.snake-case - variable.other.unknown.prim_concatStringsSep - source: ',' scopes: @@ -67904,7 +72284,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_replaceStrings @@ -67981,7 +72361,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -68015,6 +72396,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -68024,7 +72406,8 @@ - punctuation.terminator.statement - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -68058,6 +72441,7 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: @@ -68139,7 +72523,8 @@ - meta.parens - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -68159,6 +72544,7 @@ - source: ' .' - source: msg scopes: + - variable.lower-case - variable.other.unknown.msg - source: '=' scopes: @@ -68189,13 +72575,15 @@ - source: ' .' - source: errPos scopes: + - variable.camel-case - variable.other.unknown.errPos - source: '=' scopes: - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -68209,6 +72597,7 @@ - punctuation.definition.begin.bracket.square - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ']' scopes: @@ -68227,7 +72616,8 @@ - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -68251,23 +72641,28 @@ - punctuation.separator.scope-resolution.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: from scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: from scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.from - source: . scopes: - punctuation.separator.dot-access @@ -68323,7 +72718,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem @@ -68369,7 +72764,8 @@ - meta.parens - source: from scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.from - source: . scopes: - punctuation.separator.dot-access @@ -68381,7 +72777,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -68396,12 +72793,14 @@ - keyword.operator.arithmetic - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopesBegin: @@ -68414,7 +72813,8 @@ - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -68438,7 +72838,7 @@ - punctuation.separator.scope-resolution.template.call - source: pair scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -68455,36 +72855,41 @@ - punctuation.separator.scope-resolution.template.call - source: string scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ',' scopes: - punctuation.separator.delimiter.comma.template.argument - source: PathSet scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: to scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: to scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.to - source: . scopes: - punctuation.separator.dot-access @@ -68540,7 +72945,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: elem @@ -68590,29 +72995,43 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ctx scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -68627,28 +73046,34 @@ - keyword.operator.arithmetic - source: elem scopes: + - variable.lower-case - variable.other.unknown.elem - source: ',' scopes: - punctuation.separator.delimiter.comma - source: ctx scopes: + - variable.lower-case - variable.other.unknown.ctx - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: to scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.to - source: . scopes: - punctuation.separator.dot-access @@ -68660,6 +73085,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: s scopes: + - variable.lower-case - variable.other.unknown.s - source: ',' scopes: @@ -68679,6 +73105,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: ctx scopes: + - variable.lower-case - variable.other.unknown.ctx - source: ) scopes: @@ -68695,29 +73122,43 @@ scopesEnd: - meta.block - source: PathSet + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: context scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -68751,22 +73192,27 @@ - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ',' scopes: - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: std scopesBegin: - - meta.qualified_type + - meta.declaration + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -68777,10 +73223,14 @@ scopes: - entity.name.type scopesEnd: - - meta.qualified_type + - meta.qualified-type - source: res scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -68808,6 +73258,7 @@ - storage.type.built-in - source: p scopes: + - variable.lower-case - variable.other.unknown.p - source: '=' scopes: @@ -68820,13 +73271,15 @@ - punctuation.terminator.statement - source: p scopes: + - variable.lower-case - variable.other.unknown.p - source: <= scopes: - keyword.operator.comparison - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: . scopes: - punctuation.separator.dot-access @@ -68855,36 +73308,53 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: bool + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: found + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 'false' scopes: - constant.language.false + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: i + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: from scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.from - source: . scopes: - punctuation.separator.dot-access @@ -68897,23 +73367,33 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: j + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: to scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.to - source: . scopes: - punctuation.separator.dot-access @@ -68926,6 +73406,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -68944,13 +73426,15 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '!=' scopes: - keyword.operator.comparison - source: from scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.from - source: . scopes: - punctuation.separator.dot-access @@ -68971,6 +73455,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ',' scopes: @@ -68980,6 +73465,7 @@ - keyword.operator.increment - source: j scopes: + - variable.lower-case - variable.other.unknown.j scopesEnd: - meta.parens.control.for @@ -68998,7 +73484,8 @@ - punctuation.section.parens.begin.bracket.round - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: . scopes: - punctuation.separator.dot-access @@ -69010,13 +73497,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: p scopes: + - variable.lower-case - variable.other.unknown.p - source: ',' scopes: - punctuation.separator.delimiter.comma - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -69037,6 +73526,7 @@ - keyword.operator.arithmetic - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ) scopes: @@ -69059,6 +73549,7 @@ - punctuation.section.block.begin.bracket.curly - source: found scopes: + - variable.lower-case - variable.other.unknown.found - source: '=' scopes: @@ -69071,13 +73562,15 @@ - punctuation.terminator.statement - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: += scopes: - keyword.operator.assignment.compound - source: j scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.j - source: '->' scopes: - punctuation.separator.pointer-access @@ -69097,7 +73590,8 @@ - punctuation.section.parens.begin.bracket.round - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -69130,13 +73624,15 @@ - punctuation.section.parens.begin.bracket.round - source: p scopes: + - variable.lower-case - variable.other.unknown.p - source: < scopes: - keyword.operator.comparison - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: . scopes: - punctuation.separator.dot-access @@ -69156,6 +73652,7 @@ - meta.parens - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: += scopes: @@ -69170,6 +73667,7 @@ - punctuation.definition.begin.bracket.square - source: p scopes: + - variable.lower-case - variable.other.unknown.p - source: ']' scopes: @@ -69181,6 +73679,7 @@ - punctuation.terminator.statement - source: p scopes: + - variable.lower-case - variable.other.unknown.p - source: ++ scopes: @@ -69203,13 +73702,15 @@ - punctuation.section.block.begin.bracket.curly - source: p scopes: + - variable.lower-case - variable.other.unknown.p - source: += scopes: - keyword.operator.assignment.compound - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: '->' scopes: - punctuation.separator.pointer-access @@ -69242,7 +73743,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -69256,7 +73757,8 @@ - punctuation.separator.colon.range-based - source: j scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.j - source: '->' scopes: - punctuation.separator.pointer-access @@ -69272,7 +73774,8 @@ - meta.parens - source: context scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.context - source: . scopes: - punctuation.separator.dot-access @@ -69284,6 +73787,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: path scopes: + - variable.lower-case - variable.other.unknown.path - source: ) scopes: @@ -69293,12 +73797,14 @@ - punctuation.terminator.statement - source: j scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.j - source: '->' scopes: - punctuation.separator.pointer-access - source: second scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -69339,6 +73845,7 @@ - keyword.operator.logical - source: found scopes: + - variable.lower-case - variable.other.unknown.found - source: ) scopes: @@ -69360,13 +73867,15 @@ - punctuation.section.parens.begin.bracket.round - source: p scopes: + - variable.lower-case - variable.other.unknown.p - source: < scopes: - keyword.operator.comparison - source: s scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.s - source: . scopes: - punctuation.separator.dot-access @@ -69386,6 +73895,7 @@ - meta.parens - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: += scopes: @@ -69400,6 +73910,7 @@ - punctuation.definition.begin.bracket.square - source: p scopes: + - variable.lower-case - variable.other.unknown.p - source: ']' scopes: @@ -69411,6 +73922,7 @@ - punctuation.terminator.statement - source: p scopes: + - variable.lower-case - variable.other.unknown.p - source: ++ scopes: @@ -69430,7 +73942,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -69442,12 +73955,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: res scopes: + - variable.lower-case - variable.other.unknown.res - source: ',' scopes: - punctuation.separator.delimiter.comma - source: context scopes: + - variable.lower-case - variable.other.unknown.context - source: ) scopes: @@ -69465,7 +73980,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_replaceStrings scopesBegin: @@ -69595,6 +74110,7 @@ - keyword.operator.assignment - source: prim_replaceStrings scopes: + - variable.snake-case - variable.other.unknown.prim_replaceStrings - source: ',' scopes: @@ -69630,7 +74146,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_parseDrvName @@ -69706,19 +74222,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: name + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -69752,16 +74275,19 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: DrvName scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: parsed scopes: @@ -69771,6 +74297,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ) scopes: @@ -69779,19 +74306,27 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -69807,12 +74342,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -69824,7 +74362,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -69845,7 +74384,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: parsed scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.parsed - source: . scopes: - punctuation.separator.dot-access @@ -69860,7 +74400,8 @@ - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -69895,7 +74436,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: parsed scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.parsed - source: . scopes: - punctuation.separator.dot-access @@ -69910,7 +74452,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -69922,6 +74465,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ) scopes: @@ -69939,7 +74483,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_parseDrvName scopesBegin: @@ -70037,6 +74581,7 @@ - keyword.operator.assignment - source: prim_parseDrvName scopes: + - variable.snake-case - variable.other.unknown.prim_parseDrvName - source: ',' scopes: @@ -70061,7 +74606,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_compareVersions @@ -70137,19 +74682,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: version1 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -70183,27 +74735,38 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: version2 + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -70237,16 +74800,20 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -70264,12 +74831,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: version1 scopes: + - variable.lower-case - variable.other.unknown.version1 - source: ',' scopes: - punctuation.separator.delimiter.comma - source: version2 scopes: + - variable.lower-case - variable.other.unknown.version2 - source: ) scopes: @@ -70290,7 +74859,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_compareVersions scopesBegin: @@ -70405,6 +74974,7 @@ - keyword.operator.assignment - source: prim_compareVersions scopes: + - variable.snake-case - variable.other.unknown.prim_compareVersions - source: ',' scopes: @@ -70429,7 +74999,7 @@ - storage.modifier.static - source: void scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: prim_splitVersion @@ -70505,19 +75075,26 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: version + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -70551,27 +75128,38 @@ - punctuation.separator.delimiter.comma - source: pos scopes: + - variable.lower-case - variable.other.unknown.pos - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: iter + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: version scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.version - source: . scopes: - punctuation.separator.dot-access @@ -70584,16 +75172,24 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: Strings + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: components scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -70607,13 +75203,15 @@ - punctuation.section.parens.begin.bracket.round - source: iter scopes: + - variable.lower-case - variable.other.unknown.iter - source: '!=' scopes: - keyword.operator.comparison - source: version scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.version - source: . scopes: - punctuation.separator.dot-access @@ -70637,16 +75235,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: component + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: nextComponent scopes: - entity.name.function.call @@ -70655,13 +75260,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: iter scopes: + - variable.lower-case - variable.other.unknown.iter - source: ',' scopes: - punctuation.separator.delimiter.comma - source: version scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.version - source: . scopes: - punctuation.separator.dot-access @@ -70677,6 +75284,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -70690,7 +75299,8 @@ - punctuation.section.parens.begin.bracket.round - source: component scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.component - source: . scopes: - punctuation.separator.dot-access @@ -70716,7 +75326,8 @@ - punctuation.terminator.statement - source: components scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.components - source: . scopes: - punctuation.separator.dot-access @@ -70728,6 +75339,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: component scopes: + - variable.lower-case - variable.other.unknown.component - source: ) scopes: @@ -70742,7 +75354,8 @@ - meta.block - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -70754,13 +75367,15 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: components scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.components - source: . scopes: - punctuation.separator.dot-access @@ -70795,7 +75410,7 @@ - storage.modifier.specifier.const - source: auto scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -70829,6 +75444,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: components scopes: + - variable.lower-case - variable.other.unknown.components - source: ) scopes: @@ -70843,7 +75459,8 @@ - punctuation.section.parens.begin.bracket.round - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -70863,6 +75480,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ']' scopes: @@ -70874,7 +75492,8 @@ - keyword.operator.assignment - source: state scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.state - source: . scopes: - punctuation.separator.dot-access @@ -70916,6 +75535,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: component scopes: + - variable.lower-case - variable.other.unknown.component - source: ) scopes: @@ -70936,7 +75556,7 @@ - storage.modifier.static - source: RegisterPrimOp scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: primop_splitVersion scopesBegin: @@ -71031,6 +75651,7 @@ - keyword.operator.assignment - source: prim_splitVersion scopes: + - variable.snake-case - variable.other.unknown.prim_splitVersion - source: ',' scopes: @@ -71081,6 +75702,7 @@ - punctuation.separator.scope-resolution - source: primOps scopes: + - variable.camel-case - variable.other.unknown.primOps - source: ; scopes: @@ -71106,11 +75728,15 @@ - punctuation.separator.namespace.access - punctuation.separator.scope-resolution - source: string + scopesBegin: + - variable.lower-case scopes: - variable.other.unknown.string - source: name scopes: - variable.other.unknown.name + scopesEnd: + - variable.lower-case - source: ',' scopes: - punctuation.separator.delimiter.comma @@ -71120,6 +75746,7 @@ - storage.type.built-in - source: arity scopes: + - variable.lower-case - variable.other.unknown.arity - source: ',' scopes: @@ -71129,6 +75756,7 @@ - variable.other.unknown.PrimOpFun - source: fun scopes: + - variable.lower-case - variable.other.unknown.fun - source: ) scopes: @@ -71151,6 +75779,7 @@ - keyword.operator.logical - source: primOps scopes: + - variable.camel-case - variable.other.unknown.primOps - source: ) scopes: @@ -71159,6 +75788,7 @@ - meta.parens - source: primOps scopes: + - variable.camel-case - variable.other.unknown.primOps - source: '=' scopes: @@ -71175,7 +75805,8 @@ - punctuation.terminator.statement - source: primOps scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.primOps - source: '->' scopes: - punctuation.separator.pointer-access @@ -71189,12 +75820,14 @@ - source: ' .' - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: '=' scopes: - keyword.operator.assignment - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: ',' scopes: @@ -71202,6 +75835,7 @@ - source: ' .' - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: '=' scopes: @@ -71213,12 +75847,14 @@ - source: ' .' - source: arity scopes: + - variable.lower-case - variable.other.unknown.arity - source: '=' scopes: - keyword.operator.assignment - source: arity scopes: + - variable.lower-case - variable.other.unknown.arity - source: ',' scopes: @@ -71226,12 +75862,14 @@ - source: ' .' - source: fun scopes: + - variable.lower-case - variable.other.unknown.fun - source: '=' scopes: - keyword.operator.assignment - source: fun scopes: + - variable.lower-case - variable.other.unknown.fun - source: ',' scopes: @@ -71269,6 +75907,7 @@ - keyword.operator.logical - source: info scopes: + - variable.lower-case - variable.other.unknown.info - source: ) scopes: @@ -71291,6 +75930,7 @@ - keyword.operator.logical - source: primOps scopes: + - variable.camel-case - variable.other.unknown.primOps - source: ) scopes: @@ -71299,6 +75939,7 @@ - meta.parens - source: primOps scopes: + - variable.camel-case - variable.other.unknown.primOps - source: '=' scopes: @@ -71315,7 +75956,8 @@ - punctuation.terminator.statement - source: primOps scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.primOps - source: '->' scopes: - punctuation.separator.pointer-access @@ -71340,6 +75982,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: info scopes: + - variable.lower-case - variable.other.unknown.info - source: ) scopes: @@ -71359,7 +76002,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: EvalState @@ -71389,7 +76032,8 @@ scopesBegin: - meta.body.function.definition scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.baseEnv - source: . scopes: - punctuation.separator.dot-access @@ -71417,12 +76061,18 @@ scopesEnd: - comment.block - source: Value + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: v scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -71439,7 +76089,8 @@ - comment.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -71501,6 +76152,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -71510,7 +76162,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -71551,6 +76204,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -71560,7 +76214,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -71601,6 +76256,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -71610,7 +76266,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -71648,6 +76305,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -71668,7 +76326,8 @@ - keyword.operator.logical - source: evalSettings scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.evalSettings - source: . scopes: - punctuation.separator.dot-access @@ -71687,7 +76346,8 @@ - punctuation.section.block.begin.bracket.curly - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -71737,6 +76397,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -71746,7 +76407,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -71758,12 +76420,14 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: settings scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.settings - source: . scopes: - punctuation.separator.dot-access - source: thisSystem scopes: + - variable.camel-case - variable.other.object.property - source: . scopes: @@ -71805,6 +76469,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -71819,7 +76484,8 @@ - meta.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -71831,6 +76497,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: nixVersion scopes: + - variable.camel-case - variable.other.unknown.nixVersion - source: ) scopes: @@ -71860,6 +76527,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -71869,7 +76537,8 @@ - punctuation.terminator.statement - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -71881,7 +76550,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: store scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.store - source: '->' scopes: - punctuation.separator.pointer-access @@ -71916,6 +76586,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -71939,7 +76610,8 @@ - comment.block - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -71980,6 +76652,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -72005,7 +76678,8 @@ - punctuation.section.parens.begin.bracket.round - source: evalSettings scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.evalSettings - source: . scopes: - punctuation.separator.dot-access @@ -72050,6 +76724,7 @@ - punctuation.separator.delimiter.comma - source: prim_importNative scopes: + - variable.snake-case - variable.other.unknown.prim_importNative - source: ) scopes: @@ -72085,6 +76760,7 @@ - punctuation.separator.delimiter.comma - source: prim_exec scopes: + - variable.snake-case - variable.other.unknown.prim_exec - source: ) scopes: @@ -72116,13 +76792,15 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ',' scopes: - punctuation.separator.delimiter.comma - source: searchPath scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.searchPath - source: . scopes: - punctuation.separator.dot-access @@ -72142,19 +76820,28 @@ scopes: - punctuation.terminator.statement - source: int + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: 'n' + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - constant.numeric.decimal + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -72170,7 +76857,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -72184,6 +76871,7 @@ - punctuation.separator.colon.range-based - source: searchPath scopes: + - variable.camel-case - variable.other.unknown.searchPath scopesEnd: - meta.parens.control.for @@ -72198,16 +76886,23 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: attrs + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: buildBindings scopes: - entity.name.function.call @@ -72220,12 +76915,15 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -72260,7 +76958,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access @@ -72275,7 +76974,8 @@ - punctuation.terminator.statement - source: attrs scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.attrs - source: . scopes: - punctuation.separator.dot-access @@ -72310,7 +77010,8 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: i scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.i - source: . scopes: - punctuation.separator.dot-access @@ -72330,7 +77031,8 @@ - punctuation.section.parens.begin.bracket.round - source: v scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.v - source: . scopes: - punctuation.separator.dot-access @@ -72350,6 +77052,7 @@ - punctuation.definition.begin.bracket.square - source: 'n' scopes: + - variable.lower-case - variable.other.unknown.n - source: ++ scopes: @@ -72387,6 +77090,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: attrs scopes: + - variable.lower-case - variable.other.unknown.attrs - source: ) scopes: @@ -72421,6 +77125,7 @@ - punctuation.separator.delimiter.comma - source: v scopes: + - variable.lower-case - variable.other.unknown.v - source: ) scopes: @@ -72445,6 +77150,7 @@ - punctuation.separator.scope-resolution - source: primOps scopes: + - variable.camel-case - variable.other.unknown.primOps - source: ) scopes: @@ -72463,7 +77169,7 @@ scopesBegin: - meta.parens.control.for scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: '&' @@ -72487,6 +77193,7 @@ - punctuation.separator.scope-resolution - source: primOps scopes: + - variable.camel-case - variable.other.unknown.primOps scopesEnd: - meta.parens.control.for @@ -72508,7 +77215,8 @@ - keyword.operator.logical - source: primOp scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.primOp - source: . scopes: - punctuation.separator.dot-access @@ -72520,7 +77228,8 @@ - keyword.operator.logical - source: settings scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.settings - source: . scopes: - punctuation.separator.dot-access @@ -72535,7 +77244,8 @@ - keyword.operator.arithmetic - source: primOp scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.primOp - source: . scopes: - punctuation.separator.dot-access @@ -72565,13 +77275,15 @@ - source: ' .' - source: fun scopes: + - variable.lower-case - variable.other.unknown.fun - source: '=' scopes: - keyword.operator.assignment - source: primOp scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.primOp - source: . scopes: - punctuation.separator.dot-access @@ -72584,6 +77296,7 @@ - source: ' .' - source: arity scopes: + - variable.lower-case - variable.other.unknown.arity - source: '=' scopes: @@ -72603,12 +77316,14 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: primOp scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.primOp - source: . scopes: - punctuation.separator.dot-access - source: args scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -72627,7 +77342,8 @@ - punctuation.separator.delimiter.comma - source: primOp scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.primOp - source: . scopes: - punctuation.separator.dot-access @@ -72643,13 +77359,15 @@ - source: ' .' - source: name scopes: + - variable.lower-case - variable.other.unknown.name - source: '=' scopes: - keyword.operator.assignment - source: primOp scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.primOp - source: . scopes: - punctuation.separator.dot-access @@ -72662,13 +77380,15 @@ - source: ' .' - source: args scopes: + - variable.lower-case - variable.other.unknown.args - source: '=' scopes: - keyword.operator.assignment - source: primOp scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.primOp - source: . scopes: - punctuation.separator.dot-access @@ -72681,13 +77401,15 @@ - source: ' .' - source: doc scopes: + - variable.lower-case - variable.other.unknown.doc - source: '=' scopes: - keyword.operator.assignment - source: primOp scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.primOp - source: . scopes: - punctuation.separator.dot-access @@ -72723,13 +77445,15 @@ - comment.block - source: sDerivationNix scopes: + - variable.camel-case - variable.other.unknown.sDerivationNix - source: '=' scopes: - keyword.operator.assignment - source: symbols scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.symbols - source: . scopes: - punctuation.separator.dot-access @@ -72741,6 +77465,7 @@ - punctuation.section.arguments.begin.bracket.round.function.member - source: derivationNixPath scopes: + - variable.camel-case - variable.other.unknown.derivationNixPath - source: ) scopes: @@ -72749,16 +77474,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: vDerivation + scopesBegin: + - meta.assignment scopes: + - variable.camel-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: allocValue scopes: - entity.name.function.call @@ -72768,6 +77500,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -72793,6 +77527,7 @@ - punctuation.separator.delimiter.comma - source: vDerivation scopes: + - variable.camel-case - variable.other.unknown.vDerivation - source: ) scopes: @@ -72814,7 +77549,8 @@ - comment.block - source: baseEnv scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.baseEnv - source: . scopes: - punctuation.separator.dot-access @@ -72839,6 +77575,7 @@ - punctuation.separator.pointer-access - source: attrs scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -72857,7 +77594,8 @@ - punctuation.terminator.statement - source: staticBaseEnv scopes: - - variable.other.object.access + - variable.camel-case + - variable.other.object.access.staticBaseEnv - source: '->' scopes: - punctuation.separator.pointer-access @@ -72891,6 +77629,7 @@ - storage.type.built-in.primitive - source: code scopes: + - variable.lower-case - variable.other.assignment - source: '[' scopes: @@ -72964,6 +77703,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: code scopes: + - variable.lower-case - variable.other.unknown.code - source: ',' scopes: @@ -72978,6 +77718,7 @@ - source: code scopes: - meta.arguments.operator.sizeof + - variable.lower-case - variable.other.unknown.code - source: ) scopes: @@ -72987,12 +77728,14 @@ - punctuation.separator.delimiter.comma - source: foFile scopes: + - variable.camel-case - variable.other.unknown.foFile - source: ',' scopes: - punctuation.separator.delimiter.comma - source: derivationNixPath scopes: + - variable.camel-case - variable.other.unknown.derivationNixPath - source: ',' scopes: @@ -73013,6 +77756,7 @@ - punctuation.separator.delimiter.comma - source: staticBaseEnv scopes: + - variable.camel-case - variable.other.unknown.staticBaseEnv - source: ) scopes: @@ -73025,6 +77769,7 @@ - keyword.operator.arithmetic - source: vDerivation scopes: + - variable.camel-case - variable.other.unknown.vDerivation - source: ) scopes: diff --git a/language_examples/raw_strings.spec.yaml b/language_examples/raw_strings.spec.yaml index 2c4688be..114e1e20 100644 --- a/language_examples/raw_strings.spec.yaml +++ b/language_examples/raw_strings.spec.yaml @@ -2,7 +2,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -32,6 +32,7 @@ - storage.modifier.specifier.const - source: vertexShader scopes: + - variable.camel-case - variable.other.unknown.vertexShader - source: '{' scopesBegin: @@ -78,6 +79,7 @@ - storage.modifier.specifier.const - source: sqlQuery scopes: + - variable.camel-case - variable.other.unknown.sqlQuery - source: '{' scopesBegin: @@ -116,6 +118,7 @@ - storage.modifier.specifier.const - source: regexExpression scopes: + - variable.camel-case - variable.other.unknown.regexExpression - source: '{' scopesBegin: diff --git a/language_examples/test.spec.yaml b/language_examples/test.spec.yaml index 2eec1620..c76e919c 100644 --- a/language_examples/test.spec.yaml +++ b/language_examples/test.spec.yaml @@ -18,6 +18,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: stderr scopes: + - variable.lower-case - variable.other.unknown.stderr - source: ',' scopes: @@ -42,6 +43,7 @@ - punctuation.separator.delimiter.comma - source: num_candidate scopes: + - variable.snake-case - variable.other.unknown.num_candidate - source: ) scopes: @@ -65,6 +67,7 @@ - storage.type.built-in.primitive - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: '=' scopes: @@ -77,12 +80,14 @@ - punctuation.terminator.statement - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: < scopes: - keyword.operator.comparison - source: num_candidate scopes: + - variable.snake-case - variable.other.unknown.num_candidate - source: ; scopes: @@ -92,6 +97,7 @@ - keyword.operator.increment - source: i scopes: + - variable.lower-case - variable.other.unknown.i scopesEnd: - meta.parens.control.for @@ -108,6 +114,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: stderr scopes: + - variable.lower-case - variable.other.unknown.stderr - source: ',' scopes: @@ -139,6 +146,7 @@ - punctuation.definition.begin.bracket.square - source: i scopes: + - variable.lower-case - variable.other.unknown.i - source: ']' scopes: @@ -159,6 +167,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: stderr scopes: + - variable.lower-case - variable.other.unknown.stderr - source: ',' scopes: @@ -192,7 +201,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -227,10 +236,12 @@ scopesBegin: - meta.body.function.definition scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: '"' scopesBegin: - string.quoted.double @@ -245,17 +256,21 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement - source: LOG_INFO scopes: + - entity.name.function.call.upper-case - entity.name.function.call - source: ( scopes: - punctuation.section.arguments.begin.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: obj scopes: + - variable.lower-case - variable.other.unknown.obj - source: '<<' scopes: @@ -276,7 +291,8 @@ - keyword.operator.bitwise.shift - source: obj scopes: - - variable.other.object.access + - variable.lower-case + - variable.other.object.access.obj - source: . scopes: - punctuation.separator.dot-access @@ -300,6 +316,7 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + - punctuation.section.arguments.begin.bracket.round.function.call.upper-case - source: ; scopes: - punctuation.terminator.statement @@ -312,12 +329,18 @@ scopesEnd: - comment.line.double-slash - source: O + scopesBegin: + - meta.declaration scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: x scopes: - - variable.other.object.declare + - meta.declaration + - variable.lower-case + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -330,7 +353,7 @@ - punctuation.separator.scope-resolution - source: unique_ptr scopesBegin: - - meta.qualified_type + - meta.qualified-type scopes: - entity.name.type - source: < @@ -340,13 +363,13 @@ - punctuation.section.angle-brackets.begin.template.call - source: O scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: '>' scopes: - punctuation.section.angle-brackets.end.template.call scopesEnd: - - meta.qualified_type + - meta.qualified-type - meta.template.call - source: o scopes: @@ -360,6 +383,7 @@ - keyword.operator.new - source: O scopes: + - variable.upper-case - variable.other.unknown.O - source: ) scopes: @@ -383,6 +407,7 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: options scopes: + - variable.lower-case - variable.other.unknown.options - source: ',' scopes: @@ -422,7 +447,7 @@ - meta.body.function.definition - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main2 diff --git a/language_examples/theme_demo.spec.yaml b/language_examples/theme_demo.spec.yaml index 8e7385b0..94a3ddee 100644 --- a/language_examples/theme_demo.spec.yaml +++ b/language_examples/theme_demo.spec.yaml @@ -22,6 +22,7 @@ - punctuation.definition.parameters.end.preprocessor - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -129,7 +130,7 @@ - storage.modifier.specifier.functional.pre-parameters.inline - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: f @@ -148,7 +149,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -164,7 +165,7 @@ - meta.function.definition.parameters - meta.parameter scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: ( scopes: @@ -208,16 +209,22 @@ - source: auto scopesBegin: - meta.body.function.definition + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: 0x scopes: - keyword.other.unit.hexadecimal @@ -228,20 +235,29 @@ scopes: - keyword.other.suffix.literal.user-defined.integer - keyword.other.unit.user-defined + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: c + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '0' scopes: - keyword.other.unit.octal @@ -264,18 +280,21 @@ - punctuation.separator.constant.numeric - source: '4' scopesEnd: + - meta.assignment - constant.numeric.octal - source: ; scopes: - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -288,12 +307,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -306,12 +327,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: .* scopes: @@ -324,12 +347,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: '->*' scopes: - punctuation.separator.pointer-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: . scopes: @@ -350,7 +375,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -421,7 +446,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -492,7 +517,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -563,7 +588,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -674,7 +699,7 @@ - meta.tail.enum - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -783,16 +808,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a_lambda + scopesBegin: + - meta.assignment scopes: + - variable.snake-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: '[' scopes: - punctuation.definition.capture.begin.lambda @@ -864,6 +896,7 @@ - punctuation.section.block.begin.bracket.curly.lambda - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -886,6 +919,7 @@ scopes: - punctuation.section.block.end.bracket.curly.lambda scopesEnd: + - meta.assignment - meta.function.definition.body.lambda - source: ; scopes: @@ -899,16 +933,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: thing + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: aFunction scopes: - entity.name.function.call @@ -933,10 +974,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments scopes: + - variable.lower-case - variable.other.unknown.arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/language_examples/theme_demo1.spec.yaml b/language_examples/theme_demo1.spec.yaml index e6553063..9f1fd99c 100644 --- a/language_examples/theme_demo1.spec.yaml +++ b/language_examples/theme_demo1.spec.yaml @@ -38,7 +38,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: thing @@ -122,7 +122,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: operator @@ -173,6 +173,7 @@ scopesBegin: - meta.body.function.definition.special.operator-overload scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -211,7 +212,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -286,6 +287,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -329,6 +331,7 @@ - punctuation.section.parens.begin.bracket.round - source: c scopes: + - variable.lower-case - variable.other.unknown.c - source: '>' scopes: @@ -348,6 +351,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -401,6 +405,7 @@ - punctuation.section.parens.begin.bracket.round - source: c scopes: + - variable.lower-case - variable.other.unknown.c - source: '>' scopes: @@ -420,6 +425,7 @@ - meta.parens - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: diff --git a/language_examples/theme_demo2.spec.yaml b/language_examples/theme_demo2.spec.yaml index 0d9b2169..78bf9e25 100644 --- a/language_examples/theme_demo2.spec.yaml +++ b/language_examples/theme_demo2.spec.yaml @@ -22,6 +22,7 @@ - punctuation.definition.parameters.end.preprocessor - source: cout scopes: + - variable.lower-case - variable.other.unknown.cout - source: '<<' scopes: @@ -103,7 +104,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: func1 scopesBegin: @@ -168,7 +169,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: func2 scopesBegin: @@ -233,7 +234,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: func3 scopesBegin: @@ -298,7 +299,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: func4 scopesBegin: @@ -363,7 +364,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -434,7 +435,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -505,7 +506,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -576,7 +577,7 @@ scopesBegin: - meta.function.definition.special.operator-overload scopes: - - meta.qualified_type + - meta.qualified-type - entity.name.type - source: operator scopesBegin: @@ -647,7 +648,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: func @@ -696,12 +697,14 @@ - comment.line.double-slash - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->*' scopes: @@ -714,12 +717,14 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: .* scopes: - punctuation.separator.dot-access - source: thread scopes: + - variable.lower-case - variable.other.object.property - source: '->' scopes: @@ -732,7 +737,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -750,7 +756,8 @@ - punctuation.terminator.statement - source: a_pointer scopes: - - variable.other.object.access + - variable.snake-case + - variable.other.object.access.a_pointer - source: . scopes: - punctuation.separator.dot-access @@ -885,7 +892,7 @@ - storage.modifier.inline - source: int scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: function @@ -973,6 +980,7 @@ - storage.type.built-in.primitive - source: thing1 scopes: + - variable.lower-case - variable.other.unknown.thing1 - source: ; scopes: @@ -986,6 +994,7 @@ - storage.type.built-in.primitive - source: thing2 scopes: + - variable.lower-case - variable.other.unknown.thing2 - source: ; scopes: @@ -1024,6 +1033,7 @@ - storage.type.built-in.primitive - source: thing1 scopes: + - variable.lower-case - variable.other.unknown.thing1 - source: ; scopes: @@ -1037,6 +1047,7 @@ - storage.type.built-in.primitive - source: thing2 scopes: + - variable.lower-case - variable.other.unknown.thing2 - source: ; scopes: @@ -1075,6 +1086,7 @@ - storage.type.built-in.primitive - source: thing1 scopes: + - variable.lower-case - variable.other.unknown.thing1 - source: ; scopes: @@ -1088,6 +1100,7 @@ - storage.type.built-in.primitive - source: thing2 scopes: + - variable.lower-case - variable.other.unknown.thing2 - source: ; scopes: @@ -1128,6 +1141,7 @@ - storage.type.built-in.primitive - source: thing1 scopes: + - variable.lower-case - variable.other.unknown.thing1 - source: ; scopes: @@ -1141,6 +1155,7 @@ - storage.type.built-in.primitive - source: thing2 scopes: + - variable.lower-case - variable.other.unknown.thing2 - source: ; scopes: @@ -1158,7 +1173,7 @@ scopesBegin: - meta.function.definition scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: main @@ -1267,16 +1282,23 @@ scopesEnd: - comment.line.double-slash - source: auto + scopesBegin: + - meta.assignment scopes: - - meta.qualified_type + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: thing + scopesBegin: + - meta.assignment scopes: + - variable.lower-case - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: aFunction scopes: - entity.name.function.call @@ -1301,10 +1323,13 @@ - punctuation.section.arguments.begin.bracket.round.function.call - source: arguments scopes: + - variable.lower-case - variable.other.unknown.arguments - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement diff --git a/main/main.rb b/main/main.rb index f21fc456..447b6099 100644 --- a/main/main.rb +++ b/main/main.rb @@ -1066,10 +1066,27 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: constructor_call_base = lookAheadToAvoid(/class|struct|union|enum|explicit|new|delete|operator|template|throw|decltype|typename|override|final/).then(/\b/).then( qualified_type ) + generateVariableVariations = ->(tag_name) do + Pattern.new( + tag_as: "variable.lower-case #{tag_name}", + match: /\b[a-z0-9]+\b/, + ).or( + tag_as: "variable.snake-case #{tag_name}", + match: /\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\b/, + ).or( + tag_as: "variable.camel-case #{tag_name}", + match: /\b[a-z]+[A-Z][a-zA-Z0-9]*\b/, + ).or( + tag_as: "variable.upper-case #{tag_name}", + match: /\b[A-Z][A-Z_0-9]*\b/, + ).or( + tag_as: "variable.other.unknown.$match", + match: variable_name, + ) + end grammar[:constructor_bracket_call] = Pattern.new( constructor_call_base.then(std_space).then( - match: variable_name, - tag_as: "entity.name.function.call.constructor", + generateVariableVariations["variable.other.object.construction"], ).then(std_space).lookAheadFor(/\{/) ) grammar[:simple_constructor_call] = Pattern.new( @@ -1079,8 +1096,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ) grammar[:simple_array_assignment] = Pattern.new( Pattern.new( - tag_as: "variable.other.assignment", - match: variable_name, + generateVariableVariations["variable.other.assignment"], ).then( match: /\[/, tag_as: "punctuation.definition.begin.bracket.square.array.type", @@ -1093,29 +1109,30 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: assignment_operators ) ) - grammar[:unknown_variable] = Pattern.new( - Pattern.new( - tag_as: "variable.other.unknown.$match", - match: variable_name, - ) - ) + + grammar[:unknown_variable] = generateVariableVariations["variable.other.unknown.$match"] normal_type_pattern = maybe(declaration_storage_specifiers.then(std_space)).then(qualified_type.maybe(ref_deref[])) # normal variable assignment grammar[:variable_assignment] = Pattern.new( - normal_type_pattern.then(std_space).then( - tag_as: "variable.other.assignment", - match: identifier, - ).then(std_space).then( - assignment_operators + tag_as: "meta.assignment", + match: Pattern.new( + normal_type_pattern.then(std_space).then( + generateVariableVariations["variable.other.assignment"], + ).then(std_space).then( + assignment_operators + ) ) ) grammar[:variable_declare] = Pattern.new( - normal_type_pattern.then(std_space).then( - tag_as: "variable.other.object.declare", - match: identifier, - ).then(std_space).lookAheadFor(/;|,/) + tag_as: "meta.declaration", + match: Pattern.new( + normal_type_pattern.then(std_space).then( + generateVariableVariations["variable.other.declare"], + ).then(std_space).lookAheadFor(/;|,/) + ) ) grammar[:normal_variable_assignment] = PatternRange.new( + tag_as: "meta.assignment", start_pattern: Pattern.new( Pattern.new(/^/).then(std_space).then( grammar[:variable_assignment] @@ -1133,6 +1150,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # missing array declarations # missing initalizer forms ( Thing somthin(); Thing somethin{};) grammar[:normal_variable_declaration] = PatternRange.new( + tag_as: "meta.declaration", start_pattern: Pattern.new( Pattern.new(/^/).then(std_space).then( grammar[:variable_declare] @@ -1410,26 +1428,49 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ] ) # a full match example of function call would be: aNameSpace::subClassFunctionName<5>( - grammar[:function_call] = PatternRange.new( - start_pattern: Pattern.new( - grammar[:scope_resolution_function_call] - ).then( - match: variable_name_without_bounds, - tag_as: "entity.name.function.call" - ).then( - avoid_invalid_function_names - ).then(std_space).maybe( - template_call - ).then( - match: /\(/, - tag_as: "punctuation.section.arguments.begin.bracket.round.function.call" - ), - end_pattern: Pattern.new( - match: /\)/, - tag_as: "punctuation.section.arguments.end.bracket.round.function.call" - ), - includes: [ :evaluation_context ] - ) + grammar[:function_call] = [ + PatternRange.new( + start_pattern: Pattern.new( + grammar[:scope_resolution_function_call] + ).then( + # same as normal function call, just detect if upper-case + match: /[A-Z][A-Z_0-9]*/, + tag_as: "entity.name.function.call.upper-case entity.name.function.call" + ).then( + avoid_invalid_function_names + ).then(std_space).maybe( + template_call + ).then( + match: /\(/, + tag_as: "punctuation.section.arguments.begin.bracket.round.function.call punctuation.section.arguments.begin.bracket.round.function.call.upper-case" + ), + end_pattern: Pattern.new( + match: /\)/, + tag_as: "punctuation.section.arguments.end.bracket.round.function.call punctuation.section.arguments.begin.bracket.round.function.call.upper-case" + ), + includes: [ :evaluation_context ] + ), + PatternRange.new( + start_pattern: Pattern.new( + grammar[:scope_resolution_function_call] + ).then( + match: variable_name_without_bounds, + tag_as: "entity.name.function.call" + ).then( + avoid_invalid_function_names + ).then(std_space).maybe( + template_call + ).then( + match: /\(/, + tag_as: "punctuation.section.arguments.begin.bracket.round.function.call" + ), + end_pattern: Pattern.new( + match: /\)/, + tag_as: "punctuation.section.arguments.end.bracket.round.function.call" + ), + includes: [ :evaluation_context ] + ), + ] # # Initializers @@ -2046,15 +2087,12 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: # TODO: member_access and method_access might also need additional matching to handle scope resolutions generatePartialMemberFinder = ->(tag_name) do the_this_keyword.or( - Pattern.new( - match: variable_name_without_bounds.or(lookBehindFor(/\]|\)/)).maybe(@spaces), - tag_as: tag_name, - ) + generateVariableVariations[tag_name].or(lookBehindFor(/\]|\)/)).maybe(@spaces), ).then( member_operator ) end - partial_member = generatePartialMemberFinder["variable.other.object.access"] + partial_member = generatePartialMemberFinder["variable.other.object.access.$match"] member_context = [ mid_member = Pattern.new( match: lookBehindFor(dot_or_arrow_operator).maybe( diff --git a/package-lock.json b/package-lock.json index 7eaca5a1..28435b4d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "better-cpp-syntax", - "version": "1.22.0", + "version": "1.26.1", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "better-cpp-syntax", - "version": "1.22.0", + "version": "1.26.1", "devDependencies": { "chalk": "^2.4.2", "dictionary-en-us": "^2.1.1", From 23e25d811594476dcf72adc359e88cdf9642b099 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Fri, 12 Jul 2024 15:34:46 -0500 Subject: [PATCH 64/65] - --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 36f49be4..ec4f7080 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.26.1", + "version": "1.27.0", "icon": "icon.png", "scripts": {}, "keywords": [ From 071dd6ecc9eda347bd84c8aa0e0b557396cb6a40 Mon Sep 17 00:00:00 2001 From: Jeff Hykin Date: Fri, 12 Jul 2024 16:36:18 -0500 Subject: [PATCH 65/65] improve array assignment matching --- .../cpp.embedded.macro.tmLanguage.json | 2 +- autogenerated/cpp.tmLanguage.json | 288 +++++- autogenerated/cpp_scopes.txt | 1 + language_examples/#059.spec.yaml | 11 +- language_examples/#071.cpp | 6 +- language_examples/#071.spec.yaml | 114 +++ language_examples/#264.spec.yaml | 12 +- language_examples/declares.cpp | 37 + language_examples/declares.spec.yaml | 834 ++++++++++++++++++ .../feature_basic_string_sso.spec.yaml | 13 +- language_examples/misc_000.spec.yaml | 1 + language_examples/misc_005.spec.yaml | 12 +- language_examples/misc_006.spec.yaml | 1 + language_examples/misc_asteria.spec.yaml | 45 +- language_examples/pr_435.spec.yaml | 11 +- language_examples/ranged_for.spec.yaml | 197 ++++- main/main.rb | 6 +- package.json | 2 +- 18 files changed, 1494 insertions(+), 99 deletions(-) create mode 100644 language_examples/declares.cpp create mode 100644 language_examples/declares.spec.yaml diff --git a/autogenerated/cpp.embedded.macro.tmLanguage.json b/autogenerated/cpp.embedded.macro.tmLanguage.json index 70e5dd8a..ef27727b 100644 --- a/autogenerated/cpp.embedded.macro.tmLanguage.json +++ b/autogenerated/cpp.embedded.macro.tmLanguage.json @@ -1 +1 @@ -{"information_for_contributors":["This code was auto generated by a much-more-readable ruby file","This file essentially an updated/improved fork of the atom syntax","see https://github.com/jeff-hykin/better-cpp-syntax/blob/master"],"version":"","name":"C++","scopeName":"source.cpp.embedded.macro","fileTypes":[],"patterns":[{"include":"#ever_present_context"},{"include":"#constructor_root"},{"include":"#destructor_root"},{"include":"#function_definition"},{"include":"source.cpp#simple_array_assignment"},{"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\\(","end":"\\)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)([A-Z][A-Z_0-9]*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}}},{"match":"(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=)))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>)","name":"keyword.operator.bitwise.shift.cpp"},{"match":"(?:!=|<=|>=|==|<|>)","name":"keyword.operator.comparison.cpp"},{"match":"(?:&&|!|\\|\\|)","name":"keyword.operator.logical.cpp"},{"match":"(?:&|\\||\\^|~)","name":"keyword.operator.bitwise.cpp"},{"match":"(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"(?:%|\\*|\\/|-|\\+)","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?","name":"storage.type.class.doxygen.cpp"},{"match":"((?<=[\\s*!\\/])[\\\\@](?:a|em|e))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.italic.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@]b)\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.bold.doxygen.cpp"}}},{"match":"((?<=[\\s*!\\/])[\\\\@](?:c|p))\\s+(\\S+)","captures":{"1":{"name":"storage.type.class.doxygen.cpp"},"2":{"name":"markup.inline.raw.string.cpp"}}},{"match":"(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?","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"},{"match":"((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:\\s+)?(?:in|out)(?:\\s+)?)+)\\])?(\\s+((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\{)","end":"\\}|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(((?>(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(::))?(?:\\s+)?((?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)([A-Z][A-Z_0-9]*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?(\\()","end":"\\)|(?=(?|\\*\\/))\\s*+(?:((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"punctuation.definition.function.return-type.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":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))","captures":{"1":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?])|(?<=\\Wreturn|^return))(?:\\s+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((??)++\\]))*+)(\\](?!((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))[\\[\\];=]))","end":"(?<=[;}])|(?=(?","end":"(?=\\{)|(?=(?\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:\\s+)?)*)(?:\\s+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:\\s+)?(\\()","end":"\\)|(?=(?|->\\*))(?:\\s+)?(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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.lower-case.cpp variable.other.object.property.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.property.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.property.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.property.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}}},{"match":"(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?\\*|->)))","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.lower-case.cpp variable.other.object.access.$6.cpp"},"7":{"name":"variable.snake-case.cpp variable.other.object.access.$7.cpp"},"8":{"name":"variable.camel-case.cpp variable.other.object.access.$8.cpp"},"9":{"name":"variable.upper-case.cpp variable.other.object.access.$9.cpp"},"10":{"name":"variable.other.unknown.$10.cpp"},"11":{"name":"punctuation.separator.dot-access.cpp"},"12":{"name":"punctuation.separator.pointer-access.cpp"}}},{"include":"source.cpp#member_access"},{"include":"#method_access"}]},"14":{"name":"entity.name.function.member.cpp"},"15":{"name":"punctuation.section.arguments.begin.bracket.round.function.member.cpp"}},"endCaptures":{"0":{"name":"punctuation.section.arguments.end.bracket.round.function.member.cpp"}},"patterns":[{"include":"#evaluation_context"}]},"ms_attributes":{"begin":"__declspec\\(","end":"\\)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)(?:\\s+)?((?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=)))","end":"(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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)))?((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:\\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|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(operator)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*+)(?:(?:((?:delete\\[\\]|delete|new\\[\\]|<=>|<<=|new|>>=|\\->\\*|\\/=|%=|&=|>=|\\|=|\\+\\+|\\-\\-|\\(\\)|\\[\\]|\\->|\\+\\+|<<|>>|\\-\\-|<=|\\^=|==|!=|&&|\\|\\||\\+=|\\-=|\\*=|,|\\+|\\-|!|~|\\*|&|\\*|\\/|%|\\+|\\-|<|>|&|\\^|\\||=))|((?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?>)","name":"keyword.operator.bitwise.shift.cpp"},{"match":"(?:!=|<=|>=|==|<|>)","name":"keyword.operator.comparison.cpp"},{"match":"(?:&&|!|\\|\\|)","name":"keyword.operator.logical.cpp"},{"match":"(?:&|\\||\\^|~)","name":"keyword.operator.bitwise.cpp"},{"match":"(?:((?:%=|\\+=|-=|\\*=|(?>=|\\|=))|(\\=))","captures":{"1":{"name":"keyword.operator.assignment.compound.cpp"},"2":{"name":"keyword.operator.assignment.compound.bitwise.cpp"},"3":{"name":"keyword.operator.assignment.cpp"}}},{"match":"(?:%|\\*|\\/|-|\\+)","name":"keyword.operator.arithmetic.cpp"},{"include":"#ternary_operator"}]},"parameter":{"begin":"((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?=\\w)","end":"(?:(?=\\))|(,))|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(,)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))*((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(\\])((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(:)(?!:)","captures":{"1":{"name":"meta.type.cpp"},"2":{"patterns":[{"include":"source.cpp#storage_specifiers"}]},"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"},"10":{"name":"meta.qualified-type.cpp","patterns":[{"match":"::","name":"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"},{"match":"(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?=(?|(?=(?|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\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+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:\\s+)?(?:(\\[)(\\w*)(\\])(?:\\s+)?)*(\\))(?:\\s+)?(\\()","end":"(\\))((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))((?]|\\n)(?!\\()|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|\\?\\?>)(?:\\s+)?(;)|(;))|(?=[;>\\[\\]=]))|(?=(?|\\?\\?>|(?=(?|\\?\\?>)[\\s]*","end":"[\\s]*(?=;)|(?=(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\s*+)?::)*\\s*+)?((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:(?:(?:\\s*+(\\/\\*)((?:[^\\*]++|\\*+(?!\\/))*+(\\*\\/))\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=))", + "match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|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)(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?>=|\\|=))|(\\=))", "captures": { "1": { - "name": "variable.lower-case.cpp variable.other.assignment.cpp" + "name": "meta.qualified-type.cpp", + "patterns": [ + { + "match": "::", + "name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp" + }, + { + "match": "(?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)\\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|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|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-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?|(?:(?:[^'\"<>\\/]|\\/[^*])++))*>)?(?![\\w<:.]))(((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))?(?:(?:&|\\*)((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z)))*(?:&|\\*))?((?:((?:\\s*+\\/\\*(?:[^\\*]++|\\*+(?!\\/))*+\\*\\/\\s*+)+)|(?:\\s++)|(?<=\\W)|(?=\\W)|^|(?:\\n?$)|\\A|\\Z))(?:(?:(?:(?:(\\b[a-z0-9]+\\b)|(\\b[a-zA-Z0-9]+_[a-zA-Z0-9]*\\b))|(\\b[a-z]+[A-Z][a-zA-Z0-9]*\\b))|(\\b[A-Z][A-Z_0-9]*\\b))|((? value; compound::type value; diff --git a/language_examples/#071.spec.yaml b/language_examples/#071.spec.yaml index c111d016..446320b1 100644 --- a/language_examples/#071.spec.yaml +++ b/language_examples/#071.spec.yaml @@ -96,6 +96,7 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a @@ -391,6 +392,7 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a @@ -495,6 +497,9 @@ - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive +- source: '*' + scopes: + - storage.modifier.pointer - source: a scopes: - meta.declaration @@ -522,19 +527,127 @@ - source: ; scopes: - punctuation.terminator.statement +- source: usertype + scopes: + - meta.qualified-type + - entity.name.type +- source: user_value + scopes: + - variable.snake-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type +- source: '=' + scopes: + - keyword.operator.assignment +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '1' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '3' + scopes: + - constant.numeric.decimal +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement +- source: usertype + scopes: + - meta.qualified-type + - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer +- source: user_value + scopes: + - variable.snake-case + - variable.other.assignment +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square.array.type +- source: ']' + scopes: + - punctuation.definition.end.bracket.square.array.type +- source: '=' + scopes: + - keyword.operator.assignment +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: '1' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '2' + scopes: + - constant.numeric.decimal +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: '3' + scopes: + - constant.numeric.decimal +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: ; + scopes: + - punctuation.terminator.statement - source: usertype scopesBegin: - meta.declaration scopes: - meta.qualified-type - entity.name.type +- source: '*' + scopes: + - storage.modifier.pointer - source: user_value scopes: - meta.declaration - variable.snake-case - variable.other.declare +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: '1' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square scopesEnd: - meta.declaration + - meta.bracket.square.access - source: ; scopes: - punctuation.terminator.statement @@ -667,6 +780,7 @@ - punctuation.terminator.statement - source: int scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: a diff --git a/language_examples/#264.spec.yaml b/language_examples/#264.spec.yaml index adbaef8d..505019df 100644 --- a/language_examples/#264.spec.yaml +++ b/language_examples/#264.spec.yaml @@ -200,18 +200,23 @@ scopes: - punctuation.terminator.statement - source: static + scopesBegin: + - meta.declaration scopes: - storage.modifier.specifier.static - source: int scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: perm - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: 'N' @@ -228,6 +233,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: diff --git a/language_examples/declares.cpp b/language_examples/declares.cpp new file mode 100644 index 00000000..1e23badd --- /dev/null +++ b/language_examples/declares.cpp @@ -0,0 +1,37 @@ +#include +#include +#include "Stress_ball.h" + +using namespace std; + +int main() +{ + srand(time(NULL)); + + cout << "Default constructor test:\n"; + Stress_ball arr_test; + Stress_ball arr_test[5]; + for(int i = 0; i < 5; i++){ + arr_test[i] = Stress_ball(); + cout << i << ": " << arr_test[i] << endl; + } + + cout << "\nTwo arg constructor test:\n"; + Stress_ball test2(Stress_ball_colors::red, Stress_ball_sizes::small); + cout << test2 << endl; + + Stress_ball test3(Stress_ball_colors::green, Stress_ball_sizes::large); + cout << test3 << endl; + + cout << "\nCompare stress balls:\n"; + for (int i = 0; i < 5; i++) { + if (arr_test[i] == test2) { + cout << "arr_test[" << i << "] equal test2\n"; + } else if (arr_test[i] == test3) { + cout << "arr_test[" << i << "] equal test3\n"; + } else { + cout << "arr_test[" << i << "] not equal test2 nor test3\n"; + } + } + +} diff --git a/language_examples/declares.spec.yaml b/language_examples/declares.spec.yaml new file mode 100644 index 00000000..499132a7 --- /dev/null +++ b/language_examples/declares.spec.yaml @@ -0,0 +1,834 @@ +- source: '#' + scopesBegin: + - meta.preprocessor.include + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: iostream +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: < + scopesBegin: + - string.quoted.other.lt-gt.include + scopes: + - punctuation.definition.string.begin +- source: cstdlib +- source: '>' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.other.lt-gt.include +- source: '#' + scopesBegin: + - keyword.control.directive.include + scopes: + - punctuation.definition.directive +- source: include + scopesEnd: + - keyword.control.directive.include +- source: '"' + scopesBegin: + - string.quoted.double.include + scopes: + - punctuation.definition.string.begin +- source: Stress_ball.h +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - meta.preprocessor.include + - string.quoted.double.include +- source: using + scopesBegin: + - meta.using-namespace + scopes: + - keyword.other.using.directive +- source: namespace + scopes: + - keyword.other.namespace.directive + - storage.type.namespace.directive +- source: std + scopes: + - entity.name.namespace +- source: ; + scopes: + - punctuation.terminator.statement + scopesEnd: + - meta.using-namespace +- source: int + scopesBegin: + - meta.function.definition + scopes: + - meta.qualified-type + - storage.type.primitive + - storage.type.built-in.primitive +- source: main + scopesBegin: + - meta.head.function.definition + scopes: + - entity.name.function.definition +- source: ( + scopes: + - punctuation.section.parameters.begin.bracket.round +- source: ) + scopes: + - punctuation.section.parameters.end.bracket.round +- source: '{' + scopes: + - punctuation.section.block.begin.bracket.curly.function.definition + scopesEnd: + - meta.head.function.definition +- source: srand + scopesBegin: + - meta.body.function.definition + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: time + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: 'NULL' + scopes: + - constant.language.NULL +- source: ) + scopesBegin: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ) + scopesEnd: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'Default constructor test:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: Stress_ball + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: arr_test + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare + scopesEnd: + - meta.declaration +- source: ; + scopes: + - punctuation.terminator.statement +- source: Stress_ball + scopesBegin: + - meta.declaration + scopes: + - meta.qualified-type + - entity.name.type +- source: arr_test + scopes: + - meta.declaration + - variable.snake-case + - variable.other.declare +- source: '[' + scopesBegin: + - meta.bracket.square.access + scopes: + - punctuation.definition.begin.bracket.square +- source: '5' + scopes: + - constant.numeric.decimal +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.declaration + - meta.bracket.square.access +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: int + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: < + scopes: + - keyword.operator.comparison +- source: '5' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ++ + scopes: + - keyword.operator.increment + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: arr_test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '=' + scopes: + - keyword.operator.assignment +- source: Stress_ball + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: ': ' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: arr_test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: \n + scopes: + - constant.character.escape +- source: 'Two arg constructor test:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: Stress_ball + scopes: + - meta.qualified-type + - entity.name.type +- source: test2 + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Stress_ball_colors + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: red + scopes: + - variable.lower-case + - variable.other.unknown.red +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: small + scopes: + - variable.lower-case + - variable.other.unknown.small +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: test2 + scopes: + - variable.lower-case + - variable.other.unknown.test2 +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: Stress_ball + scopes: + - meta.qualified-type + - entity.name.type +- source: test3 + scopes: + - entity.name.function.call +- source: ( + scopes: + - punctuation.section.arguments.begin.bracket.round.function.call +- source: Stress_ball_colors + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: green + scopes: + - variable.lower-case + - variable.other.unknown.green +- source: ',' + scopes: + - punctuation.separator.delimiter.comma +- source: Stress_ball_sizes + scopes: + - entity.name.scope-resolution +- source: '::' + scopes: + - punctuation.separator.namespace.access + - punctuation.separator.scope-resolution +- source: large + scopes: + - variable.lower-case + - variable.other.unknown.large +- source: ) + scopes: + - punctuation.section.arguments.end.bracket.round.function.call +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: test3 + scopes: + - variable.lower-case + - variable.other.unknown.test3 +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: endl + scopes: + - variable.lower-case + - variable.other.unknown.endl +- source: ; + scopes: + - punctuation.terminator.statement +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: \n + scopes: + - constant.character.escape +- source: 'Compare stress balls:' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: for + scopes: + - keyword.control.for +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: int + scopesBegin: + - meta.parens.control.for + scopes: + - storage.type.primitive + - storage.type.built-in.primitive +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '=' + scopes: + - keyword.operator.assignment +- source: '0' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: < + scopes: + - keyword.operator.comparison +- source: '5' + scopes: + - constant.numeric.decimal +- source: ; + scopes: + - punctuation.terminator.statement +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ++ + scopes: + - keyword.operator.increment + scopesEnd: + - meta.parens.control.for +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: arr_test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '==' + scopes: + - keyword.operator.comparison +- source: test2 + scopes: + - variable.lower-case + - variable.other.unknown.test2 +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'arr_test[' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '] equal test2' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: if + scopes: + - keyword.control.if +- source: ( + scopesBegin: + - meta.parens + scopes: + - punctuation.section.parens.begin.bracket.round +- source: arr_test + scopesBegin: + - meta.bracket.square.access + scopes: + - variable.other.object +- source: '[' + scopes: + - punctuation.definition.begin.bracket.square +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: ']' + scopes: + - punctuation.definition.end.bracket.square + scopesEnd: + - meta.bracket.square.access +- source: '==' + scopes: + - keyword.operator.comparison +- source: test3 + scopes: + - variable.lower-case + - variable.other.unknown.test3 +- source: ) + scopes: + - punctuation.section.parens.end.bracket.round + scopesEnd: + - meta.parens +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'arr_test[' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '] equal test3' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: else + scopes: + - keyword.control.else +- source: '{' + scopesBegin: + - meta.block + scopes: + - punctuation.section.block.begin.bracket.curly +- source: cout + scopes: + - variable.lower-case + - variable.other.unknown.cout +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: 'arr_test[' +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: i + scopes: + - variable.lower-case + - variable.other.unknown.i +- source: '<<' + scopes: + - keyword.operator.bitwise.shift +- source: '"' + scopesBegin: + - string.quoted.double + scopes: + - punctuation.definition.string.begin +- source: '] not equal test2 nor test3' +- source: \n + scopes: + - constant.character.escape +- source: '"' + scopes: + - punctuation.definition.string.end + scopesEnd: + - string.quoted.double +- source: ; + scopes: + - punctuation.terminator.statement +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly + scopesEnd: + - meta.block +- source: '}' + scopes: + - punctuation.section.block.end.bracket.curly.function.definition diff --git a/language_examples/feature_basic_string_sso.spec.yaml b/language_examples/feature_basic_string_sso.spec.yaml index f9fdf860..af7f1c92 100644 --- a/language_examples/feature_basic_string_sso.spec.yaml +++ b/language_examples/feature_basic_string_sso.spec.yaml @@ -1451,14 +1451,18 @@ - source: CharT scopesBegin: - meta.body.struct + - meta.declaration scopes: - - variable.other.unknown.CharT + - meta.qualified-type + - entity.name.type - source: buf - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: _SSO_Cap @@ -1468,6 +1472,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: diff --git a/language_examples/misc_000.spec.yaml b/language_examples/misc_000.spec.yaml index 73089dba..150c909a 100644 --- a/language_examples/misc_000.spec.yaml +++ b/language_examples/misc_000.spec.yaml @@ -9168,6 +9168,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s_digits diff --git a/language_examples/misc_005.spec.yaml b/language_examples/misc_005.spec.yaml index acb256de..18ea7f71 100644 --- a/language_examples/misc_005.spec.yaml +++ b/language_examples/misc_005.spec.yaml @@ -8276,15 +8276,20 @@ scopes: - punctuation.terminator.statement - source: char + scopesBegin: + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: buf - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: '80' @@ -8294,6 +8299,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: diff --git a/language_examples/misc_006.spec.yaml b/language_examples/misc_006.spec.yaml index 73089dba..150c909a 100644 --- a/language_examples/misc_006.spec.yaml +++ b/language_examples/misc_006.spec.yaml @@ -9168,6 +9168,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s_digits diff --git a/language_examples/misc_asteria.spec.yaml b/language_examples/misc_asteria.spec.yaml index d8162472..7fb62084 100644 --- a/language_examples/misc_asteria.spec.yaml +++ b/language_examples/misc_asteria.spec.yaml @@ -4925,6 +4925,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s_name_chars @@ -5418,15 +5419,19 @@ - source: char scopesBegin: - meta.body.struct + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: first - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: '12' @@ -5436,6 +5441,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: @@ -5499,13 +5505,8 @@ - source: s_keywords scopes: - variable.snake-case - - variable.other.assignment -- source: '[' - scopes: - - punctuation.definition.begin.bracket.square.array.type -- source: ']' - scopes: - - punctuation.definition.end.bracket.square.array.type + - variable.other.unknown.s_keywords +- source: '[] ' - source: '=' scopes: - keyword.operator.assignment @@ -7611,6 +7612,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s_punct_chars @@ -7846,15 +7848,19 @@ - source: char scopesBegin: - meta.body.struct + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: first - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: '6' @@ -7864,6 +7870,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: @@ -7927,13 +7934,8 @@ - source: s_punctuators scopes: - variable.snake-case - - variable.other.assignment -- source: '[' - scopes: - - punctuation.definition.begin.bracket.square.array.type -- source: ']' - scopes: - - punctuation.definition.end.bracket.square.array.type + - variable.other.unknown.s_punctuators +- source: '[] ' - source: '=' scopes: - keyword.operator.assignment @@ -12781,6 +12783,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s_digits @@ -16017,6 +16020,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s_digits @@ -18333,6 +18337,7 @@ - storage.modifier.specifier.functional.pre-parameters.constexpr - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s_suffix_chars diff --git a/language_examples/pr_435.spec.yaml b/language_examples/pr_435.spec.yaml index 39a73497..8c16245b 100644 --- a/language_examples/pr_435.spec.yaml +++ b/language_examples/pr_435.spec.yaml @@ -46,15 +46,19 @@ - source: char scopesBegin: - meta.body.function.definition + - meta.declaration scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: data - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: '1024' @@ -64,6 +68,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: diff --git a/language_examples/ranged_for.spec.yaml b/language_examples/ranged_for.spec.yaml index e23bcc71..eaf339f4 100644 --- a/language_examples/ranged_for.spec.yaml +++ b/language_examples/ranged_for.spec.yaml @@ -3175,16 +3175,23 @@ scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: storePath + scopesBegin: + - meta.assignment scopes: - variable.camel-case - - variable.other.unknown.storePath + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - variable.lower-case @@ -3212,6 +3219,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15270,26 +15279,39 @@ scopes: - punctuation.section.block.begin.bracket.curly.lambda - source: PathSet + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.PathSet + - meta.qualified-type + - entity.name.type - source: context scopes: + - meta.declaration - variable.lower-case - - variable.other.unknown.context + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: - variable.lower-case - - variable.other.unknown.s + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - variable.lower-case @@ -15351,6 +15373,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -15598,26 +15622,39 @@ scopes: - punctuation.section.block.begin.bracket.curly.lambda - source: PathSet + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.PathSet + - meta.qualified-type + - entity.name.type - source: context scopes: + - meta.declaration - variable.lower-case - - variable.other.unknown.context + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: s + scopesBegin: + - meta.assignment scopes: - variable.lower-case - - variable.other.unknown.s + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - variable.lower-case @@ -15679,6 +15716,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.member + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -35966,16 +36005,23 @@ scopes: - punctuation.section.block.begin.bracket.curly.lambda - source: auto + scopesBegin: + - meta.assignment scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: st + scopesBegin: + - meta.assignment scopes: - variable.lower-case - - variable.other.unknown.st + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: lstat scopes: - entity.name.function.call @@ -35989,6 +36035,8 @@ - source: ) scopes: - punctuation.section.arguments.end.bracket.round.function.call + scopesEnd: + - meta.assignment - source: ; scopes: - punctuation.terminator.statement @@ -36005,12 +36053,18 @@ scopesEnd: - comment.block - source: Value + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.Value + - meta.qualified-type + - entity.name.type - source: arg1 scopes: + - meta.declaration - variable.lower-case - - variable.other.unknown.arg1 + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -36038,12 +36092,18 @@ scopes: - punctuation.terminator.statement - source: Value + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.Value + - meta.qualified-type + - entity.name.type - source: arg2 scopes: + - meta.declaration - variable.lower-case - - variable.other.unknown.arg2 + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -36206,16 +36266,20 @@ scopes: - punctuation.terminator.statement - source: Value + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.Value + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: args scopes: + - meta.declaration - variable.lower-case - - variable.other.unknown.args -- source: ' []' + - variable.other.declare +- source: '[]' - source: '{' scopesBegin: - meta.block @@ -36242,17 +36306,24 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.declaration - meta.block - source: ; scopes: - punctuation.terminator.statement - source: Value + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.Value + - meta.qualified-type + - entity.name.type - source: res scopes: + - meta.declaration - variable.lower-case - - variable.other.unknown.res + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -40821,6 +40892,9 @@ scopes: - punctuation.section.block.begin.bracket.curly.lambda - source: std + scopesBegin: + - meta.assignment + - meta.qualified-type scopes: - entity.name.scope-resolution - source: '::' @@ -40829,15 +40903,20 @@ - punctuation.separator.scope-resolution - source: string_view scopes: - - variable.snake-case - - variable.other.unknown.string_view + - entity.name.type + scopesEnd: + - meta.qualified-type - source: s1 + scopesBegin: + - meta.assignment scopes: - variable.lower-case - - variable.other.unknown.s1 + - variable.other.assignment - source: '=' scopes: - keyword.operator.assignment + scopesEnd: + - meta.assignment - source: state scopes: - variable.lower-case @@ -40959,6 +41038,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.assignment - meta.bracket.square.access - source: ; scopes: @@ -45899,17 +45979,22 @@ scopes: - punctuation.terminator.statement - source: Value + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.Value + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: res - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: args @@ -45944,6 +46029,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: @@ -52448,17 +52534,22 @@ scopesEnd: - comment.line.double-slash - source: Value + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.Value + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: vs - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: args @@ -52493,6 +52584,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: @@ -54707,16 +54799,20 @@ scopes: - punctuation.section.block.begin.bracket.curly - source: Value + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.Value + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: vs scopes: + - meta.declaration - variable.lower-case - - variable.other.unknown.vs -- source: ' []' + - variable.other.declare +- source: '[]' - source: '{' scopesBegin: - meta.block @@ -54737,6 +54833,7 @@ scopes: - punctuation.section.block.end.bracket.curly scopesEnd: + - meta.declaration - meta.block - source: ; scopes: @@ -57615,10 +57712,11 @@ - punctuation.terminator.statement - source: Value scopes: - - variable.other.unknown.Value + - meta.qualified-type + - entity.name.type - source: '*' scopes: - - keyword.operator.arithmetic + - storage.modifier.pointer - source: vs scopes: - variable.lower-case @@ -57657,12 +57755,18 @@ scopes: - punctuation.terminator.statement - source: Value + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.Value + - meta.qualified-type + - entity.name.type - source: vBool scopes: + - meta.declaration - variable.camel-case - - variable.other.unknown.vBool + - variable.other.declare + scopesEnd: + - meta.declaration - source: ; scopes: - punctuation.terminator.statement @@ -60468,14 +60572,19 @@ scopes: - punctuation.terminator.statement - source: Value + scopesBegin: + - meta.declaration scopes: - - variable.other.unknown.Value + - meta.qualified-type + - entity.name.type - source: lists - scopesBegin: - - meta.bracket.square.access scopes: - - variable.other.object + - meta.declaration + - variable.lower-case + - variable.other.declare - source: '[' + scopesBegin: + - meta.bracket.square.access scopes: - punctuation.definition.begin.bracket.square - source: nrLists @@ -60486,6 +60595,7 @@ scopes: - punctuation.definition.end.bracket.square scopesEnd: + - meta.declaration - meta.bracket.square.access - source: ; scopes: @@ -77625,6 +77735,7 @@ - comment.block - source: char scopes: + - meta.qualified-type - storage.type.primitive - storage.type.built-in.primitive - source: code diff --git a/main/main.rb b/main/main.rb index 447b6099..62ebfc2e 100644 --- a/main/main.rb +++ b/main/main.rb @@ -1095,7 +1095,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: ) ) grammar[:simple_array_assignment] = Pattern.new( - Pattern.new( + qualified_type.maybe(ref_deref[]).then(std_space).then( generateVariableVariations["variable.other.assignment"], ).then( match: /\[/, @@ -1128,7 +1128,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: Pattern.new( normal_type_pattern.then(std_space).then( generateVariableVariations["variable.other.declare"], - ).then(std_space).lookAheadFor(/;|,/) + ).then(std_space).lookAheadFor(/;|,|\[/).lookAheadToAvoid(/[^=]++=/) ) ) grammar[:normal_variable_assignment] = PatternRange.new( @@ -2325,7 +2325,7 @@ def generateBlockFinder( name:"", tag_as:"", start_pattern:nil, needs_semicolon: match: /\}/, tag_as: "punctuation.section.block.end.bracket.curly.lambda", ), - includes: [ :$initial_context ] + includes: [ :function_body_context ] ), ] ) diff --git a/package.json b/package.json index ec4f7080..90f1d90a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "better-cpp-syntax", "displayName": "Better C++ Syntax", "description": "The bleeding edge of the C++ syntax", - "version": "1.27.0", + "version": "1.27.1", "icon": "icon.png", "scripts": {}, "keywords": [